Вход

Просмотр полной версии : Событие мыши


user_name
08.07.2015, 19:42
Добрый вечер,
нужно сделать обработку события при появлении и исчезновении курсора, при появлении показывать элемент а при исчезновении скрывать. Элемент у меня появляется и скрывается в течении .3с и вот если быстро мышью наводить и отводить курсор то получается что этот элемент мигает, т.е. срабатывает столько раз сколько я наводил и отводил.. думаю понятно что я имею ввиду. КАроч, как исправить это,?
Я пробовал так,

$(function(){
var hover = false;
$('#box3').hover(function(){
if(!hover){
setTimeout(function(){
hover = true;
}, 300);
$('#box1').animate({top:'-10px', opacity:'show'}, 300);
}
},
function(){
if(hover){
setTimeout(function(){
hover = false;
}, 300);
$('#box1').animate({top:'0', opacity:'hide'}, 300);
}
});
});
Не помогло :-?

dd_smol
08.07.2015, 19:51
Тема поднималась уже не раз и решения до банального просто прежде чем воспроизводить анимацию нужно прекратить предыдущею в jQuery есть метод .stop() (https://api.jquery.com/stop/) для этого.

Костыли с переменой hover не нужны.
$('#box1').stop().animate(...)

user_name
08.07.2015, 20:03
слишком просто :D спасибо