событие остановки скрола
Здравствуйте надо проявить блок header только через 3сек после того как остановился скролл, если скрол вновь запустится убрать блок header?
Этот код не работает window.onscroll=function(){ // тут мог накосячить, не помню название события... if (timer) { cleatTimeout(timer); }; timer=setTimeout(stopscroll, 100); }; stopscroll=function() { timer= false; //дальше выполняете всё, что нужно $('#header').animate({ 'opacity':'1'},{ duration:300, }).clearQueue(); }; |
Все правильно, только нужно чуть выше объявить переменную timer.
Ну и перед stopscroll потерялось ключевое слово var (хотя это не обязательно). И еще, раз уж подключена jQuery, то лучше вешать обработчик через нее: $(window).scroll(function() {...}); Ну и 3 секунды - это 3000 ms, а не 100. Цитата:
|
var scrollTmp; window.onscroll = function() { clearTimeout(scrollTmp); scrollTmp = setTimeout(onScrollStop, 3E3); } function onScrollStop() { alert(true); } P.S.: danik.js, к 3E3 не придираться. :D |
Так не работает
var timer; $(window).onscroll=function(){ if (timer) { cleatTimeout(timer); }; timer=setTimeout(stopscroll, 300); }; stopscroll=function() { timer= false; //дальше выполняете всё, что нужно $('#header').animate({ 'opacity':'1'},{ duration:300, }).clearQueue(); }; |
Цитата:
|
Цитата:
Цитата:
а что значит scrollTmp? |
Цитата:
Индификатор timeout'а записывается в него. Цитата:
|
Цитата:
|
Цитата:
|
danik.js, ахаха, я так и знал что ты не сможешь не заметить, а то ведь 3E3 мало было. :D
|
Часовой пояс GMT +3, время: 21:48. |