JavaScript 弹窗特效代码 比较实用 同一页面多个弹窗
作者:Alpha时间:2018-05-31 阅读数:5429 +人阅读
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

