событие остановки скрола
Здравствуйте надо проявить блок 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, время: 08:48. |