2010-02-08 2 views
1

Я сделал несколько простых операций .hover (function() в jQuery. Когда я наводил курсор на текст, я просто хочу # div.fadeIn и на не зависании fadeOut. Но это просто, если я спам текстовый триггер с зависанием и не-зависанием очень быстро, а затем прекратить анимацию, чтобы начать мигать. Это просто вроде петель, действительно раздражает!jQuery looping my fadeIn/fadeOut

ответ

3

Есть несколько простых способов это исправить, но это необходимо обеспечить хороший эффект для того, что вы хотите:

$("#yourtrigger").hover(function(){ 
    $("#div").stop(true).fadeTo("fast", 1.0); 
}, function(){ 
    $("#div").fadeOut("fast"); 
}); 

важно, чтобы не использовать fadeIn с помощью этого метода, как он перестанет выцветания после какое-то время причина того, как jQuery отслеживает, что он должен «затухать».

+0

Спасибо, Дуг, его отлично работает! –

0

Если у вас есть что-то вроде этого:

$('#your_div').action1().action2(); 

изменить его на:

$('#your_div').action1(miliseconds, function() { 
    $(this).action2(); 
}); 

Вы можете даже с v1.4, добавить задержку() вызов, как это.

$('your_div').action1().delay(miliseconds).action2();