2014-11-18 3 views
0

Я пытаюсь играть в анимацию, пока пользователь прокручивается и останавливается, когда останавливается.
Я знаю очень маленький javascript, но из охоты вокруг и адаптации я дошел до того, что начал его прокрутку, но потом он продолжает идти, и я не могу понять, как остановить его, как только прокрутка заканчивается ,Javascript остановка анимации при прокрутке останавливается

Вот что я до сих пор:

$(window).scroll(function() { 
    $('#square').animate({ 
     top: '70px', 
     queue: true, 
    }, 900).animate({ 
     top: '5px', 
     queue: true 
    }, 1000); 
}); 

Fiddle

Любая помощь очень ценится!

ответ

1

Вы можете использовать таймер следующим образом:

var timer;

$(window).scroll(function() { 

    clearTimeout(timer); 
    timer = setTimeout(refresh , 150); 

    $('#square').animate({ 
     top: '70px', 
     queue: true, 
    }, 900).animate({ 
     top: '5px', 
     queue: true 
    }, 1000); 

}); 

var refresh = function() { 
// do stuff 
    $('#square').stop().clearQueue(); 
}; 

FIDDLE

Ссылка: Event when user stops scrolling

+0

Спасибо! Это в значительной степени то, чем я был. – Runcible

0

Обновлен своей JSFiddle используя ссылку с другого Stack Overflow question.

Это будет отображаться на экране при возникновении события scroll и при прекращении события scroll.

Ядро того, что вы хотите, это $('#square').stop().clearQueue();.

+0

Спасибо, это тоже работает! – Runcible