onscroll top一次

时间:2012-04-02 14:46:03

标签: javascript javascript-events

如何编辑此内容,以便在用户向上滚动后仅运行一次

(function () {
    var previousScroll = 0;

    $(window).scroll(function(){
       var currentScroll = $(this).scrollTop();
       if (currentScroll < previousScroll){
           alert('up');
       }
       previousScroll = currentScroll;
    });
}()); //run this anonymous function immediately

1 个答案:

答案 0 :(得分:1)

如果您希望用户仅被通知一次,那么您可以使用布尔值来跟踪通知是否已完成。

(function () {
var previousScroll = 0;
var isAlerted = false;
$(window).scroll(function(){
   if(isAlerted) return;                    
   var currentScroll = $(this).scrollTop();
   if (currentScroll < previousScroll){
       console.log('up');
       isAlerted = true;
   }
   previousScroll = currentScroll;
});
})();​

另请注意最后一行的变化。

正确使用自执行匿名功能
(function(){})();