禁用自动滚动到元素结尾

时间:2012-02-23 00:48:18

标签: javascript jquery html scroll scrollview

当我到达顶部div上的滚动结尾时,我不想启动任何其他滚动。我只想让它停止滚动。我会说相当合理的要求。

Here is a demo of the issue on JS fiddle

有没有办法可以禁用这个跨浏览器?

作为用户,您明确地将鼠标移动到div以与其进行交互。谁是浏览器,假设我现在要滚动它下面的东西?这肯定是个错误。

enter image description here

1 个答案:

答案 0 :(得分:2)

当您的div聚焦时,您需要在整个身体上禁用溢出,例如

$('#scrollme').hover(function() {
    $('body').css('overflow', 'hidden');
}, function() {
    $('body').css('overflow', 'auto');
});​

修改过的小提琴:http://jsfiddle.net/vQSmG/

正如您在我添加的top中看到的那样,即使您的#scrollme元素不在页面顶部,它也能正常工作;你不会丢失全局滚动位置信息。

我在FF 3.6,IE 9和最新的Chrome中进行过测试,但我现在手上还没有旧IE,以确保它也可以在那里工作。