我正在尝试在滚动位置为特定值时运行脚本。
为什么这不起作用?
<script type="text/javascript">
$(document).scroll(function () {
if ($(document).scrollTop() == 1500) {
$.scrollLock(true);}
});
</script>
当我将==更改为&gt; =它确实有效,但这不是我想要的。我希望它只能在1500工作。
答案 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);
}