原生js实现简单的模态框示例

时间:2021-05-25

html部分:

<img src="images/8.jpg" alt=""> <button class="btn" id="showMax">显示大图</button> <div id="modalBox" class="modalBox"> <div class="modalBox-matter"> <header class="modalBox-header"> <span class="mtclose">×</span> </header> <div class="modalBox-body">    <img src="images/8-1.jpg">  </div> </div></div>

js部分:

var btn = document.getElementById('showMax'); var mtclose = document.getElementsByClassName('mtclose')[0]; var modalBox = document.getElementById('modalBox'); btn.addEventListener('click', function(){ modalBox.style.display = "block"; }); mtclose.addEventListener('click', function(){ modalBox.style.display = "none"; });

css部分:

.btn{ width: 100px; height: 35px; border-radius: 5px; font-size: 16px; color: #F97B39; position: absolute; top: 130px; left: 160px; opacity: 0.2; cursor: pointer; } .btn:hover, .btn:focus{ background-color: #8AA7F9; opacity: 0.5; color: #FFFFFF;} .modalBox{ display: none; width: 100%; height: 100%; position: fixed; left: 0; top: 0; z-index: 1000; background-color: rgba(0,0,0,0.5);}.modalBox-matter{ display: flex;    /* flex-flow: column nowrap; justify-content: space-between;      width: 50%; height: 80%; margin: 30px auto 100px; border-radius:10px; -webkit-animation: zoom 0.6s; animation: zoom 0.6s; resize: both; overflow: auto; }@keyframes zoom{ from {transform: scale(0)} to {transform: scale(1)} }.modalBox-header{  margin-left: 617px; }.mtclose{ color: #602E2A; font-size: 3em; font-weight: bold; transition: all 0.3s; } .mtclose:hover, .mtclose:focus{ color: #602E2A; cursor: pointer; }.modalBox-body{ padding: 10px; font-size: 16px; }

效果

因为正在进行的一个项目中,需要一个模态框,所以花时间在网上自学的,相对来说比较简单,可以自行修改内容。。。

以上这篇原生js实现简单的模态框示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章