Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   сбой при работе mouseleave (https://javascript.ru/forum/dom-window/44061-sbojj-pri-rabote-mouseleave.html)

imediasun1 04.01.2014 21:23

сбой при работе mouseleave
 
Здравствуйте хочу добиться эффекта того что при наведении картинка исчезает а при отведении мыши с нее картинка появляется вновь но при быстром отведении мыши картинка не появляется вновь, не подскажете что делать
$('.client_price_site').mouseover(function(){
$(this).find('.client_price_site_img').fadeOut(200).clearQueue();
});
$('.client_price_site').mouseleave(function(){
$(this).find('.client_price_site_img').fadeIn(200).clearQueue();
});

и вообще иногда глючит этот эффект, при резком переходе на другие объекты не до конца появляется изображение

skrudjmakdak 04.01.2014 23:02

читай доки:
http://api.jquery.com/hover/
http://api.jquery.com/mouseout/
http://jquery-docs.ru/events/mouseout/

skrudjmakdak 04.01.2014 23:15

<html>
	<head>
		<title>example</title>
	</head>
	<body>
	<div style="width: 100px; height: 100px; background-color: red;"></div>
	
		<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
		<script>
var div = $('div');
$(div).hover(function ()
	{
	$(this).stop().animate({opacity: 0}, 500);
	}, function ()
	{
	$(this).stop().animate({opacity: 1}, 500);
	})
		</script>
	</body>
</html>

ruslan_mart 05.01.2014 14:58

skrudjmakdak, вот так красивее будет:
$('div').on('mouseover mouseout', function(e) {
   $(this).stop().animate({opacity: +(e.type == 'mouseout'}), 500);
});


Хотя, такие вещи лучше через CSS3 делать.


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