Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Задержка на onmouseover (https://javascript.ru/forum/jquery/35803-zaderzhka-na-onmouseover.html)

Andreka 22.02.2013 21:06

Задержка на onmouseover
 
Привет всем. Такой банальный вопрос.
Каким образом мне сделать чувствительность реакции события при заведении мышки на элемент
Задача проста - есть контент, который должны отображаться (display:block/none) при наведении на элемент. Но отображаться должен не сразу, а чрезе доли секунды. И плюс ко всему, если в период задержки мышка ушла с элемента, то не отображать контент. Т.е. проще говоря, если случайно курсор понёсся по этому элементу, так сказать, транзитом ))) то контент не должен появляться.
Если воспользоваться setTimeout он работает не так как нада, он по любому отработает функцию, тока с задержкой.
Спасибо всем.

ksa 22.02.2013 21:20

Цитата:

Сообщение от Andreka
Каким образом мне сделать чувствительность реакции события при заведении мышки на элемент

Как вариант...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
div {
	width: 100px;
	height: 100px;
	border: 1px solid;
}
div > p {
	display: none;
}
div.on > p {
	display: block;
}
</style>
<script type="text/javascript">
var ID;
$(document).ready(function(){
	$('div').hover(function(){
		ID = setTimeout(function(){
			$('div').addClass('on');
		}, 1000)
	},function(){
		clearTimeout(ID);
		$('div').removeClass('on');
	});
});
</script>
</head>
<body>
<div>
	<p>Test</p>
</div>
</body>
</html>


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