ScrollTop等于一个不起作用的值

时间:2014-05-29 11:14:50

标签: javascript jquery html scrolltop

我正在尝试在滚动位置为特定值时运行脚本。

为什么这不起作用?

<script type="text/javascript">
    $(document).scroll(function () {

        if ($(document).scrollTop() == 1500) { 
        $.scrollLock(true);}
    });
</script>

当我将==更改为&gt; =它确实有效,但这不是我想要的。我希望它只能在1500工作。

1 个答案:

答案 0 :(得分:5)

当您在浏览器中滚动时,滚动条不会以1px段向下,它会跳转。在Chrome中,滚动一个细分可以向上或向下移动100px(参见this demo)。

你可以做的是对你的价值有点灵活。而不是希望它以1500px的速度发射,你可以将其设置为在1450和1550之间触发。这个应该捕获大多数浏览器中的滚动:

var scrollTop = $(document).scrollTop();
if (scrollTop >= 1450 && scrollTop <= 1550) { 
    $.scrollLock(true);
}

如果它落在该范围内,你可以将它强制为1500:

if (scrollTop >= 1450 && scrollTop <= 1550) { 
    $(document).scrollTop(1500);
    $.scrollLock(true);
}

JSFiddle demo