Есть див
<div id="foo"></div>, на который вешаем обработчики событий mouseenter и mouseover. Необходимо, чтобы цикл вызова фунции
action начинался при наведении курсора на див и, соответсвенно, прекращался при удалении курсора с дива.
var foo = $('#foo');
var cycle;
function action(){
foo.append('• ');
}
foo.mouseenter(function(){
cycle = setInterval(action, 250);
});
foo.mouseover(function(){
clearInterval(cycle);
});
Проблема в том, что если не укзывать обработчик для mouseover, то цикл будет работать, разумеется, без остановки и ускоряясь с каждым последующим наведением курсора.
Тот же результат получается если писать обработчики для обоих событий, но в первом
setInterval(action, 250) не присваивать переменной
cycle.
Фидл