Вот ситуация:Можно ли определить интервалы интервала в массиве?
var FireFlipTimer = '';
var UnFlipTimer = [];
$('.CategoryBox').on('mouseenter', '.Box', function() {
clearTimeout(FireFlipTimer);
var $t = $(this);
var i = $t.index();
clearTimeout(UnFlipTimer[i]);
BHT = setTimeout(function() { FlipCat($t); }, 250);
}).on('mouseleave', '.Box', function() {
clearTimeout(FireFlipTimer);
var $t = $(this);
var i = $t.index();
UnFlipTimer[i] = setTimeout(function() { UnFlipCat($t); }, 600);
});
В основном есть DIV, который на:
- MouseEnter - одушевляет
- MouseLeave - после того, как 600мс возвращается к предыдущему состоянию до анимации.
Я пытаюсь сделать одно, что если я уеду мышь и она входит в DIV в этом 600мс интервала DIV не вернется в прежнее состояние :)
Как Есть несколько DIV-х Я пытаюсь обрабатывать интервалы setTimeout с массивом, но не успешно ...
Можно ли определить эти интервалы в массиве? Или я должен использовать другой метод для этой задачи.
P.S. Проблема в этом случае состоит в том, что только последний элемент реагирует на событие mouseleave, если я перехожу из div в div, предыдущие divs не возвращаются к нормальному состоянию.
Вы пробовали '$ (...). Остановить (истина)' функцию? –
Ваш метод должен работать (после исправления любых ошибок, которые могут быть там). Однако может быть немного чище хранить эти таймеры в самих элементах, используя '.data()'. Кроме того, более эффективное обозначение ваших переменных сделает ваш код более понятным. Вы всегда можете их минимизировать для производства. – techfoobar
Получил, элементы, где не под одним и тем же родителем, поэтому у всех был индекс = 0 ... Глупо мне. Спасибо, парни. – Tautvydas