Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   задержка на реакцию .mouseenter (https://javascript.ru/forum/jquery/23478-zaderzhka-na-reakciyu-mouseenter.html)

dimon76 24.11.2011 20:42

задержка на реакцию .mouseenter
 
привет всем! подскажите как сделать так чтоб .mouseenter срабатывал не сразу а через пару секунд?
то есть не задержка на выполнение, а именно задержка реагирования на мышку.
у меня вот так:
$(document).ready(function(){
    $("#batt4").mouseenter(function () {
      $("a,img,p,div.home-bottom").not(document.getElementById("batt4")).fadeOut("300000");
    
  });
  })

ksa 24.11.2011 20:51

Цитата:

Сообщение от dimon76
как сделать так чтоб .mouseenter срабатывал не сразу а через пару секунд?

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

$(document).ready(function(){
    $("#batt4").mouseenter(function () {
		setTimeout(function(){
			$("a,img,p,div.home-bottom").not(document.getElementById("batt4")).fadeOut("300000");
		},200);
	});
})

dimon76 24.11.2011 20:58

я же написал что мне нужно не на выполнение задержка а на реагирование на мышку. так как ты написал я уже пробовал - не подходит. это типа меню и если быстро провести мышкой по элементам меню то сначала все хорошо а потом мигалка пожарная начинается. а мне именно нужно чтобы если мышка задержалась на элементе менее 2-х секунд то ничего бы не происходило

ksa 24.11.2011 21:06

Цитата:

Сообщение от dimon76
если мышка задержалась на элементе менее 2-х секунд то ничего бы не происходило

Вона чего... :) Вот например рассматривается нечто аналогичное...
http://javascript.ru/ui/draganddrop#...prostogo-klika

velther 24.11.2011 21:15

event.target, хранит элемент над которым находиться курсор, можно сохранить его id в переменную и через время сравнить, тот ли это объект

dimon76 24.11.2011 21:20

не увидел ничего общего...

dimon76 24.11.2011 21:34

блин, не понимаю...

velther 24.11.2011 21:46

Ну вот как-то так, можно в эту сторону размышлять
<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
	<script type="text/javascript">
		var target;
		var g_target;
		function init(){
			document.getElementById('b').onmouseover = function(event) {
						if (!event) event = window.event;
						target = event.target || event.srcElement;
						
						setTimeout(function(){
								if (g_target == target) document.getElementById('b').style.backgroundColor = '#00c';
							}, 500);
				}

			document.onmousemove = function(event) {
				if (!event) event = window.event;
				g_target = event.target || event.srcElement;
			}
		}
	</script>
</head>
<body onload="init()">
	<div id="b" style="width: 100px; height: 30px; background: #c00;"></div>
</body>
</html>

dimon76 24.11.2011 21:56

ох... а проще никак?

Андрей38 24.11.2011 21:58

Я это уже делал.Просто погуглил ивент стоп для квери.Один товарищ сделал такой плагин.Название не помню.Типа стопмаус или че-то наподобии.
Найдешь,скажешь спасибо.Кармы тоже добавишь :)
Думаю это наподобии как изобразил КСА
...Я бы в зис моусеентер положил бы Сет Тайм _ в Сет тайм бы закинул бинд КЛИК..И дописал бы, что если Сет Тайм>ххх сек._тогда зис-КЛИК---анбинд .КСА показал как анбиндить где то в ветках(а ,кажеться и анбиндить не надо,сори)


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