Javascript ScrollTop等于一个不起作用的值

Javascript ScrollTop等于一个不起作用的值,javascript,jquery,html,scrolltop,Javascript,Jquery,Html,Scrolltop,我试图在滚动位置为某个值时运行脚本 为什么这不起作用 <script type="text/javascript"> $(document).scroll(function () { if ($(document).scrollTop() == 1500) { $.scrollLock(true);} }); </script> $(文档)。滚动(函数(){ if($(document).scrollTop()==1

我试图在滚动位置为某个值时运行脚本

为什么这不起作用

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

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

$(文档)。滚动(函数(){
if($(document).scrollTop()==1500){
$.scrollLock(真);}
});

当我将==更改为>=时,它确实起作用,但这不是我想要的。我只希望它在1500点工作

当您在浏览器中滚动时,滚动条不会以1px段的形式向下移动,而是跳跃。在Chrome中,滚动一段会使你上下移动100px(请参阅)

你能做的就是对你的价值观有一点灵活性。你可以把它设定在1450到1550之间,而不是希望它以1500像素的速度发射。这将捕获大多数浏览器中的滚动:

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

如果在浏览器中滚动时(scrollTop>=1450&&scrollTop=1450&&scrollTop),滚动条不会以1px段的形式向下移动,它会四处跳跃。在Chrome中,滚动一段会使您上下移动100px(请参阅)

你所能做的是对你的值稍微灵活一点。你不希望它精确地以1500像素的速度启动,你可以将它设置为在1450到1550之间启动。这应该可以在大多数浏览器中捕获滚动:

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

如果(scrollTop>=1450&&scrollTop=1450&&scrollTop)您只希望它精确地工作在
1500
?您如何确保它精确地达到
1500
?请尝试
console.log($(document).scrollTop()
,它可能跳过了1500,因此您可能需要在某一天将其更改为类似于
=1500&&<1520
@的值,是的。但我已经习惯了这样的想法,即我必须以不同的方式解决我的问题。因为,我想要的是,当用户滚动到某个点时,此脚本被激活,但当用户给出co时,此脚本被停用对问题的正确回答。我激活的脚本是一个scrolllock脚本,所以我想scrollTop毕竟不是一个解决方案。我想确切地知道1500,因为这样我可以在以后停用它…你只希望它精确地工作在
1500
?你怎么能确保它精确地达到
1500
?试试
console.log($(document.scrollTop())
,它可能跳过了1500,因此您可能需要在某一天将其更改为类似于
=1500&&<1520
@的值,是的。但我已经习惯了这样的想法,即我必须以不同的方式解决我的问题。因为,我想要的是,当用户滚动到某个点时,此脚本被激活,但当用户给出co时,此脚本被停用对问题的正确回答。我正在激活的脚本是scrolllock脚本,所以我想scrollTop毕竟不是解决方案。我想确切地知道1500,因为这样我可以在之后停用它…对不起,不起作用。请查看我对我问题的评论,看看我想实现什么。也许你可以在阅读我的评论时帮我。作为我在我的回答中提到,滚动不会在1px段中下降。浏览器可以将你从1499px带到1501px,而不会达到1500。我的回答是当你在该区域内时捕获,如果你不在该区域,则强制你达到1500。抱歉,不起作用。请查看我对我的问题的评论,以了解我想要实现的目标。也许你可以这样做当你读到我的评论时,请告诉我。正如我在回答中提到的,滚动不会以1px的形式下降。浏览器可以将你从1499px提升到1501px,而不会达到1500。我的回答是,当你在该区域内时,会捕捉到该区域,如果你不在该区域,则会强制你达到1500。