Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.05.2012, 10:45
Интересующийся
Отправить личное сообщение для Грабовский Посмотреть профиль Найти все сообщения от Грабовский
 
Регистрация: 15.01.2012
Сообщений: 12

как узнать что курсор наведен на элемент
как узнать что курсор после setTimeout() наведен на объект
Задача такая: навели курсор на объект #nav, заработал setTimeout(), прошла 1 секунда, И если курсор до сих пор наведен на этот же объект то зарабатывает alert().

$('#nav').hover(function(){
	setTimeout(function(){ alert("нецен "); }, 1000);
},function(){
	alert('отвел');
});


используется jquery
Ответить с цитированием
  #2 (permalink)  
Старый 17.05.2012, 11:16
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 296

<p>Наведите и подождите</p>

<script>
  var globalId, p = document.querySelector("p");

  function makeAlert() {
    alert("Вы терпеливы!")
  }

  p.onmouseover = function() {
    globalId = setTimeout(makeAlert, 1000);
  }
  
  p.onmouseout = function() {
    clearTimeout(globalId);
  }
</script>

P.S. JQuery не знаю, прошу прощения. Возможно сможете сделать по аналогии.

Последний раз редактировалось GuardCat, 17.05.2012 в 11:24.
Ответить с цитированием
  #3 (permalink)  
Старый 17.05.2012, 11:24
Интересующийся
Отправить личное сообщение для Грабовский Посмотреть профиль Найти все сообщения от Грабовский
 
Регистрация: 15.01.2012
Сообщений: 12

clearTimeout() конечно же!
как я не догодался.
Спасибо, GuardCat.
Ответить с цитированием
  #4 (permalink)  
Старый 17.05.2012, 11:56
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

GuardCat не могу навешать через addEventListener.Помоги пожалуйста.
<style type="text/css">
div{width:100px;height:100px;
border:1px solid red;}
</style>
</head>
<body>
<div id="block"></div>
<script>
block=document.getElementById('block')
handler=function(){
	setTimeout(function(){
block.style.backgroundColor='red'
},2000)
}
handler2=function(){clearTimeout(handler)}

block.addEventListener('mouseover',handler,false)
block.addEventListener('mouseout',handler2,false)
</script>
__________________
Я только учусь.Ногами просьба не бить
Ответить с цитированием
  #5 (permalink)  
Старый 17.05.2012, 12:08
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 296

bot87,

1. Скажите, вы так отступы сами ставите или поломалось при копировании? Все глаза сломал, блин.
2. Дело не в addEventListener. Дело в том, что clearTimeout в качестве параметра принимает не handler, а номер, который возвращается функцией setTimeout при установке таймера. Надо как-то так:
<head>
  <style type="text/css">
    div {
      width:  100px;
      height: 100px;
      border: 1px solid red;
    }
  </style>
</head>
<body>
  <div id="block"></div>
  <script>
    var id; // Завели глобальную переменную
    block = document.getElementById('block')
    handler = function(){
      id = setTimeout( /*получили номерок*/
        function(){
          block.style.backgroundColor='red'
        },
        2000
      )
    }
    handler2 = function(){clearTimeout(id)} //использовали номерок
    
    block.addEventListener('mouseover', handler, false)
    block.addEventListener('mouseout', handler2, false)
  </script>
</body>

Последний раз редактировалось GuardCat, 17.05.2012 в 12:10.
Ответить с цитированием
  #6 (permalink)  
Старый 17.05.2012, 12:13
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

спасибо за отличную помощь.
__________________
Я только учусь.Ногами просьба не бить
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать, что содержит onClick? PHPNoob Events/DOM/Window 3 17.07.2015 12:20
Как узнать что Audio воспроизводится? BorodinKO Общие вопросы Javascript 7 11.02.2012 23:24
Как узнать о том, что флэш уже загрузился. Snipe Общие вопросы Javascript 4 29.01.2009 10:21
Как узнать, что IFRAME загрузился? DeUre Общие вопросы Javascript 4 01.08.2008 13:09
Как узнать что находится в <label></label> duke_nu Events/DOM/Window 4 22.04.2008 20:53