У меня есть контейнер div, который придерживается нижней части страницы. Когда мышь выйдет из div, я хочу, чтобы div погрузился через 3 секунды. Когда мышь перемещается по div, я хочу, чтобы div поднялся до своего исходного положения. Проблема заключается в том, что мышь быстро и быстро перемещается из div, div продолжает двигаться вверх к верхней части страницы.прокрутка div с помощью jquery setTimeout & mouseenter & mouseleave
var timer = null;
var moving_distance = $("#scroller").height()-($(window).height()-$("#slideshow").height());
$("#scroller").mouseenter(function(event){
if(timer)
{
clearTimeout(timer);
$("#scroller").animate({top:'-='+moving_distance},1000);
}
}).mouseleave(function(event){
if(!timer){
timer = setTimeout(function(){
$("#scroller").animate({top:'+='+moving_distance},1000);
},3000);
}
});
К сожалению, он по-прежнему не работает. Я не хочу, чтобы div перемещался после загрузки страницы. Предполагается, что он будет двигаться только при срабатывании события Mouseleave. Без переменной таймера div всегда движется вверх, когда триггеры мыши. – Vaeianor
Я изменил код, чтобы быть более полным. Смотрите, если это вызывает какие-либо мысли. –