Перехватывать первое событие mousewheel при прокрутке пользователем и игнорировать остальные

#javascript #jquery #jquery-plugins

#javascript #jquery ( jquery ) #jquery-плагины

Вопрос:

Я хочу использовать первое событие mousewheel, когда пользователь прокручивает, для выполнения анимации, основанной на том, прокручивает ли пользователь вверх или вниз. В настоящее время я использую setTimeout вот так (я использую плагин jquery.mousewheel.js )

 $(window).mousewheel(function(event, delta, deltaX, deltaY){
    event.preventDefault();
    if(animating)
    return;
    animating = true;
    /*animate according to sign of delta over here*/
    setTimeout(function() {animating=false;}, 1500);
})
 

Это работает, но я также хочу, чтобы, если пользователь снова прокручивал между ними до истечения времени ожидания, я хотел бы идентифицировать это и анимировать в соответствии с новым значением дельты. Возможно ли это программно или есть (любой другой) плагин, который позволит мне это сделать.

Комментарии:

1. если вы используете jquery, вы можете использовать jquery.one

2. я не хочу, чтобы первое событие было на протяжении всего срока службы страницы, только один раз каждый раз, когда пользователь прокручивает и игнорирует события, которые запускаются после этого, пока пользователь не прокручивает снова, как я могу это сделать?

3. вот плагин: ссылка

4. Если оно работает сейчас, удалите время ожидания?