Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.12.2012, 23:56
Аспирант
Отправить личное сообщение для ShutTap Посмотреть профиль Найти все сообщения от ShutTap
 
Регистрация: 12.11.2012
Сообщений: 70

setTimeout время при очередном вызове функции
Здравствуйте.
Есть функция, которая показывает див при клике мышкой, и таймер, который этот див убирает через некоторое время (что-то вроде всплывающей подсказки).
Если кликнуть несколько раз, недождавшись исчезания дива по таймеру, то время исчезания после последнего клика меньше времени у таймера (исчезает как бы все равно после первого клика).
Как можно сделать исчезание дива по времени именно после последнего клика?

{
if (t) clearTimeout(t);

mydiv.style.display='block';

var t=setTimeout(function() { mydiv.style.display='none'; }, 3000);
}
Ответить с цитированием
  #2 (permalink)  
Старый 07.12.2012, 00:05
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Проблема скорее всего в том что переменная t должна быть объявлена вне-функции
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 07.12.2012, 00:10
Аспирант
Отправить личное сообщение для ShutTap Посмотреть профиль Найти все сообщения от ShutTap
 
Регистрация: 12.11.2012
Сообщений: 70

А как ее тогда вызывать в функции?
Ответить с цитированием
  #4 (permalink)  
Старый 07.12.2012, 00:14
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
    <div style="width: 200px;height: 100px;background: red;display: none;" id="mydiv"></div>
    
    <button onclick="clk();">Click me</button>
    
    <script>
	  var t, mydiv = document.getElementById('mydiv');
      function clk() {
      	clearTimeout(t);
        mydiv.style.display='block';
		t = setTimeout(function() { mydiv.style.display='none'; }, 3000);
      }
    </script>
  </body>
</html>
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #5 (permalink)  
Старый 07.12.2012, 00:17
Аспирант
Отправить личное сообщение для ShutTap Посмотреть профиль Найти все сообщения от ShutTap
 
Регистрация: 12.11.2012
Сообщений: 70

Ааа)) ну я ступил...
Спасибо огромное)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции при загрузке страницы disallow jQuery 6 24.07.2012 15:19
Подгрузка функции при загрузке страницы BorisBritva Элементы интерфейса 4 13.05.2010 21:59
не получается вызов функции при наведении курсора oleg_zhukov Events/DOM/Window 2 24.03.2010 12:09
SetTimeout не принимает параметр при повторном вызове 2dkott Общие вопросы Javascript 15 08.09.2009 16:37
не работают функции при их вызове(не отображаются кнопки) badfilin Общие вопросы Javascript 0 08.04.2008 20:18