Как отменить setTimeout ?

Форум для программистов

Сообщение Color » Ср июл 21, 2004 3:03 pm

Как мне отменить setTimeout() если он уже запущен ?

Ладно у меня такая ситуация...

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>New Page 1</title>
</head>

<body>
<script>

function cl() {
document.getElementById('p2').style.display = "none";}
function ddf() {
setTimeout("cl()", 500); }
function fd() {
document.getElementById('p2').style.display = "block"
}
function dk() {
var kaka = true;
if (kaka==true) {
document.getElementById('p2').style.display = "block";
}
}
</script>
<a onClick="dk()">jkasjd</a>
<iframe id="p2" src="http://www.google.ru" style="width:150; height:400; display:none;" onMouseOut="ddf()" onMouseOver="fd()"></iframe>
</body>

</html>


Изображение

мне надо сделать меню, срабатываемое при клике и отключаемое при отведении или клике мышкой по другой области
Color
Сержант
 
Сообщений: 32
Зарегистрирован: Вт мар 02, 2004 12:42 pm
Пункты репутации: 0

Сообщение eduha » Ср июл 21, 2004 4:42 pm

<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Как мне отменить setTimeout() если он уже запущен <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Юзай clearTimeout:

<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
clearTimeout Method
------------------------------------
Cancels a time-out that was set with the setTimeout method.

Syntax
window.clearTimeout(iTimeoutID)

Parameters
iTimeoutID Required. Integer that specifies the time-out setting returned by a previous call to the setTimeout method.
<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
<span style='color:blue'>Мэджик пипл, вуду пипл</span>
eduha
Капитан
 
Сообщений: 233
Зарегистрирован: Пн авг 11, 2003 4:39 pm
Откуда: Караганда / Казахстан
Пункты репутации: 0

Сообщение sm@rt » Чт июл 22, 2004 11:06 am

Имеется ввиду
Код: выделить все
...
tId = setTimeout("cl()", 500);
....
if (condition) {
  clearTimeout(tId);
}
Красота и массовые расстрелы спасут мир.
sm@rt
Генерал-майор
 
Сообщений: 2935
Зарегистрирован: Вт фев 25, 2003 4:42 pm
Пункты репутации: 0


Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

cron