我有以下灯箱,其中包含一个表格。一切正常。我唯一的问题是当灯箱处于活动状态时如何使html页面停止滚动。
<a href = "javascript:void(0)" onclick="
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block'">
<img src="img/add.jpg"/></a></p>
<div id="light" class="white_content">
<input name="degree_1" type="text" size="73"
value="<?php echo $user_data_profile_education['degree_1'];?>"/>
</br></br>
Grade</br>
<input name="grade_1" type="text" size="73"
value="<?php echo $user_data_profile_education['grade_1'];?>"/>
<a href = "javascript:void(0)" onclick="
document.getElementById('light').style.display='none';
document.getElementById('fade').style.display='none'">
</br><img src="img/done_editing.jpg"/> </a></div>
<div id="fade" class="black_overlay"></div>
这是我的 css :
.black_overlay{
display: none;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 220%;
background-color: grey;
z-index:1001;
-moz-opacity: 0.8;
opacity:.80;
filter: alpha(opacity=80);
}
.white_content {
display: none;
position: absolute;
top: 45%;
left: 30%;
width: 32%;
height: 51%;
padding: 30px;
padding-left:50px;
border: 5px solid green;
background-color: white;
z-index:1002;
overflow: auto;
}
答案 0 :(得分:12)
添加溢出:当您显示灯箱时溢出到您的身体并且溢出:隐藏时自动。
答案 1 :(得分:0)
使用onLoad / onClose更改包含页面内容的div的css
设置.lb_overlay高度是个不错的选择,添加相同的&#34; margin&#34;从模态的顶部到底部,所以滚动到底部并不只是坐在窗口的底部
var modal = $("#modal"),
wrapper = $("#wrapper")
$("#modalTrigger").click(function(){
modal.lightbox_me({
centered: true,
onLoad : function(){
wrapper.css({
"position" : "fixed",
"width" : "100%"
})
$(".lb_overlay").css("height" , parseInt($(window).height()) + parseInt(modal.css("top") ) + "px" )
},
onClose : function(){
wrapper.css("position" , "relative")
}
})
})
答案 2 :(得分:0)
只需添加此脚本即可在lighbox中禁用滚动显示
<script>
lightbox.option({
disableScrolling:true
})
</script>
答案 3 :(得分:0)
如果有人仍然需要它,您可以使用灯箱事件:
let lg = document.getElementById('lightgallery');
lg.addEventListener('onAfterOpen', function(e) {
$("html, body").css("overflow","hidden");
}, false);
lightGallery(lg);
lg.addEventListener('onCloseAfter', function(e) {
$("html, body").css("overflow","auto");
}, false);
lightGallery(lg);