如何在显示div时禁用滚动?

时间:2017-09-18 00:50:37

标签: jquery html css dom

我想在显示div时禁用页面滚动,因为它的图库和滚动会破坏其功能。

            $(document).ready(function () {
                if($("#lightbox").css('display') == 'none') {
                    console.log("not hidden");
                    document.body.style.overflow = "auto";
                } else if($("#lightbox").css('display') == 'block') {
                    document.body.style.overflow = "hidden";
                    console.log("hidden");
                }
            });

我可以看到"没有隐藏"在控制台中,这意味着该功能正常工作,但当我点击打开图库(显示div)时它不会隐藏滚动。我尝试过只使用其他东西,同样的事情。

提前致谢。

1 个答案:

答案 0 :(得分:0)

里面的代码:

$(document).ready(function () {

表示您的页面已完全加载,将被执行,并且只是一次性事件。

所以当你点击"打开Galery"时,你必须绑定一个事件。按钮,检查lightbox的状态:

$("#openGaleryId").click(function(){
    if($("#lightbox").css('display') == 'none') {
       console.log("not hidden");
       document.body.style.overflow = "auto";
    } else if($("#lightbox").css('display') == 'block') {
        document.body.style.overflow = "hidden";
        console.log("hidden");
    }
});