4

scrollTop 达到某个值(例如 150)后如何防止滚动。

$(window).scroll(function() {   
    if($(window).scrollTop() >=50)) {
       return false;    // basically don't scroll       
    }
});
4

3 回答 3

5

使用函数.scrollTop设置scrollHeight 。scrollTo它不会从 x 滚动到 y,它只是转到 y。

所以基本上你不能停止滚动,因为你的事件将在设置为 y 后被调用。scrollHeight比较高度后,您可能可以在处理程序内部设置期望的值。

if($(window).scrollTop() >=50) 
{ 
    $(window).scrollTop(0); 
}

注意:在元素上使用它是可以忍受的,但在 window 对象上使用会让用户感到厌烦。以上只是展示它是如何工作的。

尝试滚动 >> http://jsfiddle.net/KwgMj << 看看它有多烦人。

于 2012-05-07T15:19:17.563 回答
3
$(window).scroll(function(e) {   
    if($(window).scrollTop() >=50)) {
      $(window).scrollTop(50)
    }
});
于 2012-05-07T15:06:37.100 回答
1

除了明显的问题;你为什么要这个?

我会建议另一种方法。

有一个填充整个窗口的包装器,具有一定的高度并overflow-x: hidden在 css 中使用。

不过,这可能也可能不是您所追求的。

如果您希望创建一个允许您继续滚动以进行下一步的连续站点,我建议您仅使用.slideDown()相关内容。

滚动是一个非常基本的功能,不应无缘无故地修改。

编辑:
对于 ipad 特定的解决方案,使用包装器:

<? if (strpos($_SERVER['HTTP_USER_AGENT'],'iPad')): ?>
<!-- If iPad, add style -->
<style type="text/css">
    div#wrapper {
        height: 100%;
        overflow: hidden;
    }
</style>
<? endif; ?>

<body>
<div id="wrapper">
<!-- Content here -->
</div>
</body>
于 2012-05-07T15:11:19.807 回答