Показать сообщение отдельно
  #5 (permalink)  
Старый 17.05.2012, 13:08
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

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 в 13:10.
Ответить с цитированием