我正在使用jquery tools overlay,这很棒。但是,滚动行为有点奇怪。如果您打开叠加层并将鼠标放在叠加层上,如果位于叠加层的顶部/底部,您仍然可以在其后面滚动页面。
是否有一种方法(最好是内置的jquery工具)来阻止覆盖页面滚动后的页面?
答案 0 :(得分:7)
未使用jquery工具,但在显示ui对话框时,通常会执行以下操作以防止屏幕滚动。
$("body").css("overflow", "hidden");
答案 1 :(得分:4)
你走了:
$(function() {
$("#element").overlay({
mask: {
color: '#000',
loadSpeed: 200,
opacity: 0.7
},
closeOnClick: true,
onLoad: function () {
$("body").css("overflow", "hidden");
},
onClose: function () {
$("body").css("overflow", "");
}
});
});
答案 2 :(得分:0)
看看这个。你不能阻止底层页面滚动,但是你可以阻止你的OVERLAY滚动它......毕竟那些需要关注的是什么?
尝试将覆盖的div设为CSS @media screen
为fixed
。
答案 3 :(得分:0)
.modal {
//your other settings
position:absolute !important;
}
将此添加到css以将模态窗口固定到背景。如果模态窗口大于屏幕,整个页面当然会滚动(包括模态窗口和背景)。