Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Событие мыши (https://javascript.ru/forum/jquery/56893-sobytie-myshi.html)

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() для этого.

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

user_name 08.07.2015 20:03

слишком просто :D спасибо


Часовой пояс GMT +3, время: 11:36.