Вопрос

Я сделал простой оператор .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();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top