jQuery зацикливает мой FadeIn/FadeOut
Вопрос
Я сделал простой оператор .hover(function() в jQuery.Когда я навожу курсор на текст, мне просто нужен #div.fadeIn, а при отсутствии наведения — FadeOut.Оно работает.Но если я очень быстро спамлю текстовый триггер с наведением и снятием наведения, а затем остановлю анимацию, это начнет давать эффект мигания.Это просто зацикливается, очень раздражает!
Решение
Есть несколько простых способов исправить это, но этот должен обеспечить хороший эффект для того, что вы хотите:
$("#yourtrigger").hover(function(){
$("#div").stop(true).fadeTo( "fast", 1.0);
}, function(){
$("#div").fadeOut( "fast" );
});
Важно не использовать fadeIn
с этим методом, поскольку через некоторое время он перестанет исчезать из-за того, как jQuery отслеживает то, во что он должен «исчезать».
Другие советы
Если у вас есть что-то вроде этого:
$('#your_div').action1().action2();
Измените его на:
$('#your_div').action1(miliseconds, function() {
$(this).action2();
});
В версии 1.4 вы даже можете добавить вызов задержки() вот так.
$('your_div').action1().delay(miliseconds).action2();