【发布时间】:2018-11-05 23:35:31
【问题描述】:
我有 jQuery 代码在弹出模式打开时删除滚动条。因此,当我需要关闭弹出窗口时,滚动条需要再次出现,并且该功能按预期工作,除了一件事:如果用户单击弹出窗口之外的其他位置,它将关闭,但滚动条仍然隐藏。只有在单击关闭图标时才能完全按预期工作。
当用户在弹出框外点击时,是否有可能设置自动溢出滚动?即不只是在关闭图标上?
$(document).ready(function () {
$("button#mainbtn").click(function (){
$('body').css('overflow', 'hidden');
});
$(document).on('click', '.closer', function (){
$('body').css('overflow', 'auto');
});
});
<div id="myModal" class="modal" >
<div class="modal-content">
<div class="closer">×</div>
</div>
</div>
打开模态框的代码:
var modal = document.getElementById('myModal');
var btn = document.getElementById("mainbtn");
var span = document.getElementsByClassName("closer")[0];
btn.onclick = function() {
modal.style.display = "block";
}
span.onclick = function() {
modal.style.display = "none";
}
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
css:
.modal {
display: none;
z-index: 100;
padding-top: 100px;
position:fixed;
top: 0;
width: 100%;
height: 100%;
}
.modal-content {
background-color: #f2f2f2;
margin: auto;
position:relative;
width: 60%;
height:90%;
transition: all 5s ease-in-out;
}
.closer {
top:0px;
right:20px;
color: #00284d;
position:absolute;
font-size: 45px;
}
【问题讨论】:
标签: javascript jquery html css