Я пытаюсь заставить функцию срабатывать при наведении курсора на элемент.Однако, если функция уже запущена, я хочу, чтобы она не запускалась.
У меня есть это для триггера при наведении курсора
onmouseover="runFunc()">
, и у меня это для js:
var timerStarted = false;
function waitToStart() {
timerStarted = false;
}
function runFunc() {
if (!timerStarted) {
console.log('run function');
}
timerStarted = true;
setTimeout(waitToStart, 6000);
}
Когда я впервые наведите курсор на элемент, я получаю
Запустите функцию
, и в течение 6 секунд ничего не происходит, что, похоже, работает.Однако через 6 секунд вывод на консоль быстро считался до тех пор, пока я не завис над этой функцией:
(24) запустить функцию
Я с трудом понимаюпочему и как убедиться, что функция срабатывает только каждые 6 секунд после наведения мыши.