Показать сообщение отдельно
  #1 (permalink)  
Старый 06.04.2014, 14:26
Аспирант
Отправить личное сообщение для Alex1233 Посмотреть профиль Найти все сообщения от Alex1233
 
Регистрация: 06.04.2014
Сообщений: 45

Событие "mouseleave" не всегда срабатывает, как побороть?
Есть много блоков, при наводке на которые срабатывает функция по их увеличению. Естественно если мышку уводить с них то все возвращается обратно.

Вот сама функция:

$(document).ready(function(){

	$("#list_wrap").on("mouseenter", ".list_box", function(){
	
			$('.mDem').stop();

			var $startWidth = $(this).find('img').width();
			var $startHeight = $(this).find('img').height();
			var $origWidth = $(this).find('img').attr('width');
			var $origHeight = $(this).find('img').attr('orh');
			
				
			$sdvigLeft = (($origWidth - $startWidth)/2)*(-1);
			$sdvigTop = (($origHeight - $startHeight)/2)*(-1);
			
			$dem = $(this).find('img');
			
			setTimeout(function() {
				$dem.animate({'marginLeft': $sdvigLeft + 'px', 'marginTop': $sdvigTop + 'px', 'width': $origWidth + 'px', 'position': 'absolute', 'maxWidth': '900px'}, 100);
			}, 500);

	}).on('mouseleave', '.list_box', function(){

			$(this).find('img').css({'marginLeft': '0', 'marginTop': '0', 'width': '310px', 'position': 'absolute', 'maxWidth': '100%'});

	});


});


Вот живой пример как все это работает (наброски): http://demotivatory.net/

Все работает как положено, но к сожалению только при условии если водить мышку очень медленно и без резких движений. Если же начать это делать резко и быстро, некоторые блоки не успевают уменьшаться и остаются в увеличенном виде. А еще периодически функция начинает обрабатываться не верно и картинка не сдвигается в нужное положение.

Как-то так, как на скриншоте ниже.

Однако вот тут: http://jquery-gp-gallery.ionelmc.ro/demo/

Как я не пытался подобной проблемы мне повторить не удалось. Подскажите, как нужно модернизировать данную функцию чтобы такой проблемы больше не появлялось?
Изображения:
Тип файла: jpg 12344444.jpg (469.3 Кб, 3 просмотров)

Последний раз редактировалось Alex1233, 06.04.2014 в 14:31.
Ответить с цитированием