Показать сообщение отдельно
  #1 (permalink)  
Старый 21.02.2016, 08:51
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

Запрет повторной анимации
Здравствуйте уважаемы форумчане. Подскажите пожалуйста как запретить повторную анимацию при многократном наведении мыши. Прилагаю пример:

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title></title>
	<link rel="stylesheet" href="css/normalize.css">
	<style>
		.wrapper{
			max-width: 1278px;
			margin: 40px auto;
			line-height: 140%;
		}
		.clearfix:before, .clearfix:after{
			content: " ";
			display: table;
		}
		.clearfix:after{
			clear: both;
		}
		.hover {
			float: left;
		}
		.show {
			float: left;
			width: 400px;
			background-color: #f6f6f6;
			padding: 10px;
			float: left;
			margin-left: 40px;
			display: none;
		}
	</style>
</head>
<body>
	<div class="wrapper clearfix">
		<div class="hover"><a class="hover__link" href="#">Lorem ipsum</a></div>
		<div class="show"><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eum excepturi voluptatem expedita ipsa totam tenetur corporis at. Officia voluptates impedit sed, dicta laborum aliquid aut dolorem natus. A, veritatis alias.</p></div>
	</div>
	
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.min.js"></script>
<script src="js/main.js"></script>
</body>
</html>


$(function() {

	var flag = true;

	var timer;

	var show = function(elements, el) {

		$(elements).on('mouseenter', function() {
			clearTimeout(timer);
			$(el).fadeIn(300);
		})

		$(elements).on('mouseleave', function() {
			timer = setTimeout(function() { 
				$(el).fadeOut(300);
			},100)
		});
	}

	show(".hover, .show", ".show");
});
Ответить с цитированием