JQuery вопрос зависания
У меня иногда возникают проблемы с наведением курсора мыши, когда я быстро перемещаю мышь по ссылкам, они зацикливаются довольно долго, есть ли способ зацикливаться, только если мышь остановилась, и остановить, если мышь нет?
$('ul.display li').hover(function() {
$('ul.display li').find('#details').hide(); // hides all deatils div before showing
$('#light').delay('800').fadeIn("fast"); // shows div that fades out all other content.
if($.cookie("switch_thumb") =="thumb_view" || $.cookie("switch_thumb") =="null"){//checks for cookie set for display type
$(this).find('#details').delay('900').animate({width:'toggle'}); // grow width
}else{
$(this).find('#details').delay('900').animate({height:'toggle'}); // grow height
}
}, function() {
$('#light').fadeOut("fast"); // dim the light to show all content
$('ul.display li').find('#details').hide(); //hide all details
return false; // supposed to stop looping.
});
2 ответа
У меня была похожая проблема однажды. stop() тоже может работать, но я добавил класс "inmotion" к элементу при запуске постепенного изменения и удалил его после завершения постепенного изменения. Игнорируя любые вызовы при наведении курсора, когда этот тег был включен, он гарантировал, что каждое действие должно быть завершено, прежде чем может начаться следующее.