прокрутка сверху один раз - PullRequest
0 голосов
/ 02 апреля 2012

как мне отредактировать это, чтобы оно запускалось только один раз после прокрутки пользователем вверх

(function () {
    var previousScroll = 0;

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

1 Ответ

1 голос
/ 02 апреля 2012

если вы хотите, чтобы пользователь был уведомлен только один раз, то вы можете просто использовать логическое значение, чтобы отслеживать, сделано ли уведомление.

(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(){})();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...