Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как остановить onMouseOver (https://javascript.ru/forum/events/34336-kak-ostanovit-onmouseover.html)

strengerst 29.12.2012 22:43

Как остановить onMouseOver
 
При наведении на объект срабатывает событие onMouseOver которое вызывает функцию анимирование объекта. Все работает ну как сделать что бы при событии onMouseOut анимирование объекта прекращалось, другими словами как остановить выполнение функции.

Deff 29.12.2012 23:09

Таймеру анимации присвоить уникальный id - который сбрасываем(clearTimeout(id) )по событию onMouseOut
Если анимация на jQuery, то есть специальный метод stop( clearQueue, gotoEnd )

dmitriymar 29.12.2012 23:19

Цитата:

Сообщение от strengerst
Как остановить onMouseOver

никак -это событие.
может нужно выходить из обработчика события?

ruslan_mart 30.12.2012 09:20

<div id="MyDiv" style="width:100px; height:100px; background:red; position:fixed" onmouseover="vel(true)" onmouseout="vel(false)"></div>


function vel(a)
{
   if(a)
   {
      var b = 0;
      my = setInterval(function()
      {
         document.getElementById('MyDiv').style.marginLeft = b+'px';
         b++;
      },100)
   }
   else
   {
      clearInterval(my);
   }
}


При наведении, div будет двигаться вправо. При отведении - будет прекращать своё движение.

strengerst 30.12.2012 12:11

Спасибо всем, попробую все варианты.


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