[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: события
Guest
в общем допустим onmouseover вызывает функцию с таймером

function x()
{
timer=setInterval("y()", 100);
}


Как сделать, чтобы пока таймер работает, при наведении мыши повторно ,данная функция уже не выполнялась?



Спустя 5 минут, 2 секунды (28.03.2010 - 12:01) sergeiss написал(а):
Цитата (Guest @ 28.03.2010 - 12:56)
Как сделать, чтобы пока таймер работает, при наведении мыши повторно ,данная функция уже не выполнялась?

Да просто, вобщем-то. Надо в самом начале создать переменную, присвоить ей FALSE. Перед запуском таймера присвоить этой переменной значение TRUE. И по окончании времени таймера опять присвоить ей значение FALSE.
А в функции обработки события проверять значение этой переменной. Если TRUE - не выполнять функцию, если FALSE - выполнять.

Спустя 13 секунд (28.03.2010 - 12:02) glock18 написал(а):
1. mousein
2. ставить флаг внутри нее, а прежде проверять не стоит флаг уже
3. удалять функцией себя из обработчиков события в начале выполнения, а после выполнения снова ставить себя обработчиком этого же события.

PS: не успел, sergeiss второй вариант расписал.

Спустя 23 часа, 18 минут, 59 секунд (29.03.2010 - 11:21) Guest написал(а):
ммм, ну идею понял, но немного все усложнилось.
на одном элементе два события onmouseover и onmouseout. оба события вызывают по одной функции, нужно, чтобы пока работала функция одного события другое событие было недоступно!

Спустя 36 минут, 10 секунд (29.03.2010 - 11:57) glock18 написал(а):
Guest

любой из вариантов 2, 3 подходит для этого wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.