Добавляем...


Установка таймеров и интервалов setlnterval clearlnterval setTimeout clearTimeout
Объект Window поддерживает методы установки таймеров, которые можно использовать для решения самых разных задач. Среди этих методов setTimeout() и clearTimeout(). Основной идеей здесь является возможность отложенного запуска нужной части сценария. Базовый синтаксис выглядит так:

timerLd = setTimeout(сценарий-для-запуска, время-в-миллисекундах);

где сценарий-для-запуска — это строка, содержащая вызов функции или другой оператор JavaScript, а время-в-миллисекундах задает время задержки до начала выполнения указанного фрагмента сценария. Обратите внимание на то, что метод setTimeout() возвращает абстрактный идентификатор таймера, который можно сохранить в переменной, названной выше timerld. Тогда позже можно будет очистить таймер (отменить выполнение отложенной функции), используя clearTimeout (timerld). Следующий пример показывает, как установить отсрочку и отменить отложенное событие:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>5,4,3,2,1...БАХ!</title>
<meta http-equiv="content-type" content="text/html; " />
</head>
<body>
<h1 align="center">Самоликвидация браузера</h1>
<hr />
<div align="center">
<form action="#" method="get">
<input type="button" value="Начать самоликвидацию" onclick="timer = setTimeout('window.close()', 5000); alert('Destruction in 5 seconds'); return true;" />
<input type="button" value="Прекратить самоликвидацию" onclick="clearTimeout(timer); alert('Aborted!'); return true;" />
</form>
</div>
</body>
</html>

Co свойством status объекта Window можно использовать таймер для создания (чрезмерно часто используемого) эффекта движущейся "телеграфной ленты". Многие используют этот эффект для привлечения внимания к рекламе или строке состояния. Хотя это позволяет достичь цели, но лишает пользователя возможности видеть в строке состояния URL-адреса ссылок на внешние страницы. Это существенно уменьшает степень удобства использования страницы. Не забывайте и о том, что некоторые неправильно скомпонованные сценарии прокрутки, которые не освобождают память, могут существенно замедлить работу браузера и даже привести к его аварийному завершению.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Super Scroller</title>
<meta http-equiv="content-type" content="text/html; " />
<script type="text/javascript">
<!--
var message = "Посмотрите в строку состояния. Это трюк JavaScript..."
var delay = 175;
var timerID;
var maxCount = 0;
var currentCount = 1;
function scrollMsg()
{
if (maxCount == 0)
maxCount = 3 * message.length;
window.status = message;
currentCount++;
message = message.substring(1, message.length) +
message.substring(0,1);
if (currentCount >= maxCount)
{
timerID = 0;
window.status="";
return;
}
else
timerID = setTimeout("scrollMsg()", delay);
}
//-->
</script>
</head>
<body onload="scrollMsg();">
<h1 align="center">Изумительный прокрутчик</h1>
</body>
</html>

Методы setlnterval() и clearlnterval() поддерживаются в достаточно новых браузерах (например, поколения 4.х) и используются для установки интервальных таймеров, способных вызывать отложенные события через регулярные интервалы времени. Их использование, возможно, было бы лучшим вариантом для нашего "прокрутчика". Вот пример использования интервального таймера:

<script type="text/javascript">
timer = setlnterval("alert('Ну когда мы доберемся до цели?')", 2000); </script>

Здесь устанавливается интервальный таймер для вызова окна предупреждения, который должен происходить каждые две секунды. Чтобы очистить интервальный таймер, следует использовать метод, аналогичный тому, который использовался для обычного таймера:

clearlnterval(timer) ;


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика