JavaScript 弹窗特效代码 比较实用 同一页面多个弹窗
作者:Alpha时间:2018-05-31 阅读数:4365 +人阅读
js弹窗效果是比较常用到的一个特效,现在很多前端框架也整合了很多弹窗效果,并且这些效果大都比较好看。这里分享的是用原始js代码控制的弹窗特效,不依赖jQuery,还是有很好的学习价值的。
首先是HTML代码:
<!-- 打开弹窗按钮 --> <button id="myBtn">打开弹窗</button> <!-- 弹窗 --> <div id="myModal" class="modal"> <!-- 弹窗内容 --> <div class="modal-content"> <span class="close">×</span> <p>弹窗中的文本...</p> </div> </div>
接下来是样式Css代码:
/* 弹窗 (background) */ .modal { display: none; /* 默认隐藏 */ position: fixed; /* 固定定位 */ z-index: 1; /* 设置在顶层 */ left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.4); } /* 弹窗内容 */ .modal-content { background-color: #fefefe; margin: 15% auto; padding: 20px; border: 1px solid #888; width: 80%; } /* 关闭按钮 */ .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; } .close:hover, .close:focus { color: black; text-decoration: none; cursor: pointer; }
最后是JavaScript代码:
// 获取弹窗 var modal = document.getElementById('myModal'); // 打开弹窗的按钮对象 var btn = document.getElementById("myBtn"); // 获取 <span> 元素,用于关闭弹窗 var span = document.querySelector('.close'); // 点击按钮打开弹窗 btn.onclick = function() { modal.style.display = "block"; } // 点击 <span> (x), 关闭弹窗 span.onclick = function() { modal.style.display = "none"; } // 在用户点击其他地方时,关闭弹窗 window.onclick = function(event) { if (event.target == modal) { modal.style.display = "none"; } }
点击按钮,弹出弹窗,并产生一个遮罩层,弹窗有关闭按钮可以关闭弹窗,也可以点击遮罩层的任何位置来关闭弹窗。
如果你想一个页面放置多个这样的弹窗,只需要将弹出层和控制js的id修改下即可。
比如下面的是同一个页面含有4个这样的弹窗;JavaScript代码如下:
<script> // 获取弹窗 var modal1 = document.getElementById('myModal1'); var modal2 = document.getElementById('myModal2'); var modal3 = document.getElementById('myModal3'); var modal4 = document.getElementById('myModal4'); var btn1 = document.getElementById("myBtn1"); var btn2 = document.getElementById("myBtn2"); var btn3 = document.getElementById("myBtn3"); var btn4 = document.getElementById("myBtn4"); var span1 = document.querySelector('.close1'); var span2 = document.querySelector('.close2'); var span3 = document.querySelector('.close3'); var span4 = document.querySelector('.close4'); btn1.onclick = function() { modal1.style.display = "block"; } btn2.onclick = function() { modal2.style.display = "block"; } btn3.onclick = function() { modal3.style.display = "block"; } btn4.onclick = function() { modal4.style.display = "block"; } span1.onclick = function() { modal1.style.display = "none"; } span2.onclick = function() { modal2.style.display = "none"; } span3.onclick = function() { modal3.style.display = "none"; } span4.onclick = function() { modal4.style.display = "none"; } window.onclick = function(event) { if (event.target == modal1) { modal1.style.display = "none"; } if (event.target == modal2) { modal2.style.display = "none"; } if (event.target == modal3) { modal3.style.display = "none"; } if (event.target == modal4) { modal4.style.display = "none"; } } </script>
对应的HTML代码也要做修改,这里用a标签:
<a href="javascript:void(0)" id="myBtn1">点击了解 ></a> <a href="javascript:void(0)" id="myBtn2">点击了解 ></a> <a href="javascript:void(0)" id="myBtn3">点击了解 ></a> <a href="javascript:void(0)" id="myBtn4">点击了解 ></a>
css样式代表就很简单了,这里不做过多赘述。
本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:595397166@qq.com