在给定更改属性的情况下禁用身体上的滚动

时间:2013-05-20 14:38:20

标签: jquery html css popup scroll

所以我做了一个弹出窗口,在我的网站上显示一些信息,但是我用固定尺寸制作了它,以使它适合某种方式。这意味着有一个滚动条,你需要滚动弹出窗口,这很好,我的问题是当你点击弹出窗口的底部时,它开始在实际页面上滚动。

我想要的是禁用它。显然它必须是一些Jquery,但我不知道如何在某些情况下禁止在整个页面上滚动。

这是弹出窗口的Jquery:

$(document).ready(function(){
    $('button').click(function(){
        $('#example').animate({
            display:'visible',
            opacity:'toggle'
        });
    },
    function(){
        $('#example').animate({
            display:'none',
            opacity:'toggle'
        });
    });
});

toggle函数无效,所以我只用click加倍,它运行正常。这是一个包含所有内容的jsfiddle:http://jsfiddle.net/gYGgr/1/

那么我需要添加到我的jquery中,如果弹出窗口打开,它将禁用身体上的滚动而不是弹出窗口?谢谢!

2 个答案:

答案 0 :(得分:0)

最简单的方法是将overflow: hidden添加到CSS中的<body>标记中 - 但我会对此保持谨慎,因为任何多余的内容都会被隐藏。您始终只能在对话框存在时应用它。

答案 1 :(得分:-1)

我认为最简单的选择是将方框包装在另一个div中,其位置为:fixed。请看看我为你工作过的jsfiddle:

Js Fiddle

希望有所帮助。