将窗口滚动功能减少为简单的if语句

时间:2013-10-02 14:04:31

标签: jquery scrolltop

如果scrollTop位置超过800px,我希望能够触发事件。我们都知道这可以通过将if语句包装在窗口滚动函数中来实现,如此......

         $(window).scroll(function () {
           if ($(this).scrollTop() > 800) {
             // do something
           }
         });

我可以在不将其绑定到窗口滚动功能的情况下执行此操作吗?

我试过这个,但它不起作用:

           if ($(window).scrollTop() > 800) {
             // just do it
           }

好的,要温柔。

1 个答案:

答案 0 :(得分:1)

除非你从别的东西,点击处理程序或其他东西中调用它,否则你真的不能。

您不想绑定到滚动事件的任何原因?

编辑::

为了完整起见,这是另一种不那么集中精力的方式,只需使用时间戳。

var dt = new Date();
$(window).scroll(function(){
    var now = new Date();
    if(now - dt < 1000) return; //1000 === 1 second
    //do stuff
    dt = now;
});