1. Таймер, который срабатывает только один раз
Скопируйте код кода следующим образом:
<скрипт>
//Таймер работает асинхронно
функция привет(){
Оповещение("Привет");
}
//Выполнить метод, используя имя метода
var t1 = window.setTimeout(привет, 1000);
var t2 = window.setTimeout("hello()",3000);//Использовать метод выполнения строки
window.clearTimeout(t1);//Удалить таймер
</скрипт>
2. Таймер повторного выполнения
Скопируйте код кода следующим образом:
<скрипт>
функция привет(){
Оповещение("Привет");
}
// Повторить метод
var t1 = window.setInterval(привет,1000);
var t2 = window.setInterval("привет()",3000);
//Как удалить таймер
window.clearInterval(t1);
</скрипт>
Примечание:
Если на странице есть два метода, оба из которых выполняются после загрузки страницы, но на самом деле не могут быть выполнены по порядку, для решения проблемы можно обратиться к следующим методам:
Вы можете добавить таймер в метод onload, установить таймер и «отложить» его на определенный период времени перед его запуском. Это можно рассматривать, чтобы различать порядок загрузки страницы и выполнения методов.
В JavaScript есть две специальные функции для таймеров, а именно:
1. Таймер обратного отсчета: timename=setTimeout("function();",delaytime);
2. Таймер цикла: timename=setInterval("function();",delaytime);
Первый параметр «function()» — это действие, которое будет выполнено при срабатывании таймера. Это может быть одна функция или несколько функций. Функции могут быть разделены знаком «;». Например, если вы хотите, чтобы появилось два окна с предупреждением, вы можете заменить «function();» на
"alert('Первое окно предупреждения!');alert('Второе окно предупреждения!');"; а второй параметр "delaytime" — это время интервала в миллисекундах, то есть заполнить "5000" означает 5 секунд.
Таймер обратного отсчета запускает событие после достижения указанного времени, а таймер цикла запускает событие повторно, когда наступает интервал времени. Разница между ними заключается в том, что первый действует только один раз, а второй действует постоянно.
Например, после того, как вы открыли страницу и хотите автоматически переходить на другую страницу каждые несколько секунд, вам нужно использовать таймер обратного отсчета «setTimeout(»function();»,delaytime)», и если вы хотите установить определенное предложение появляются один за другим,
Вам нужно использовать таймер цикла «setInterval(»function();»,delaytime)».
Чтобы получить фокус формы, используется document.activeElement.id. Используйте if, чтобы определить, совпадают ли document.activeElement.id и идентификатор формы.
Например: если («mid» == document.activeElement.id) {alert();}, «mid» — это идентификатор, соответствующий форме.
Таймер:
Используется для указания программы, которая будет выполняться через определенный период времени.
Тайминг выполнения в JS, разница между setTimeout и setInterval и метод отмены
setTimeout(Expression,DelayTime), после DelayTime будет выполнено выражение setTimeout, которое используется для задержки на определенный период времени перед выполнением операции.
setTimeout("function",time) устанавливает объект таймаута
setInterval(expression,layTime), каждый DelayTime будет выполнять Expression. Его часто можно использовать для обновления выражений.
setInterval("function",time) устанавливает объект тайм-аута
SetInterval повторяется автоматически, а setTimeout не повторяется.
ClearTimeout(object) очищает установленный объект setTimeout
ClearInterval(object) очищает объект setInterval.
Просто приведите два примера.
Пример 1. При запуске или загрузке формы строка выводится дословно.
Скопируйте код кода следующим образом:
<html>
<голова>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Документ без названия</title>
<script Language="JavaScript" type="text/javascript">
var str = "Это образец текста для тестирования";
вар сек = 0;
var Second=1000 //Интервал 1 секунда;
функция прокрутки() {
msg = str.substring(0, seq+1);
document.getElementByIdx_x_x('word').innerHTML = msg;
сек++;
если (seq >= длина строки) seq = 0;
}
</скрипт>
</голова>
<body onload="setInterval('scroll()',секунда)">
<div id="word"></div><br/><br/>
</тело>
</html>
Пример 2. Если фокус находится на поле ввода, регулярно проверяйте информацию в поле ввода и не выполняйте действие проверки, когда фокус не включен.
Скопируйте код кода следующим образом:
<!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">
<голова>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Документ без названия</title>
<script Language="JavaScript" type="text/javascript">
var Second=5000 //Интервал 5 секунд;
вар с=0;
функция прокрутки() {
С++;
if ("b" == document.activeElement.id) {
var str="Плановая проверка<b> "+c+" </b>время<br/>";
if(document.getElementByIdx_x_x('b').value!=""){
str+="Текущее содержимое поля ввода:<br/><b> "+document.getElementByIdx_x_x('b').value+"</b>";
}
document.getElementByIdx_x_x('word').innerHTML = str;
}
}
</скрипт>
</голова>
<тело>
<textarea id="b" name="b" style="height:100px; width:300px;" onfocus="setInterval('scroll()',секунда)"></textarea><br/><br/ >
<div id="word"></div><br/><br/>
</тело>
</html>
Пример 3. Ниже приведен простейший пример. По истечении времени таймера появляется окно с предупреждением.
Скопируйте код кода следующим образом:
<html xmlns="http://www.w3.org/1999/xhtml">
<голова>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script Language="JavaScript">
функция счетчик() {
document.getElementByIdx_x_x('m').innerHTML="Таймер запущен!";
setTimeout("alert('Прошло десять секунд!')",10000)
}
</скрипт>
<тело>
<div id="m"></div>
<input TYPE="button" value="Таймер запускается" onclick="count()">
</тело>
</html>
Пример 4: Скачок обратного отсчета времени
Скопируйте код кода следующим образом:
<html>
<голова>
<base href="<%=basePath%>">
<title>Моя стартовая страница JSP 'ds04.jsp'</title>
<span id="tiao">3</span>
<a href="javascript:countDown"> </a> Автоматический переход через несколько секунд...
<meta http-equiv=refresh content=3;url= '/ds02.jsp'/>
<!--Скрипт запускается-->
<script Language="JavaScript" Type="">
функция countDown(сек){
tiao.innerText=сек;
если(--сек>0)
setTimeout("countDown("+secs+")",1000);
}
обратный отсчет (3);
</скрипт>
<!--Конец скрипта-->
</голова>
Пример 6:
Скопируйте код кода следующим образом:
<голова>
<meta http-equiv="refresh" content="2;url='b.html'">
</голова>
Пример 7:
Скопируйте код кода следующим образом:
<script Language="javascript" type="text/javascript">
setTimeout("window.location.href='b.html'", 2000);
//Оба следующих двух можно использовать
//setTimeout("javascript:location.href='b.html'", 2000);
//setTimeout("window.location='b.html'", 2000);
</скрипт>
Пример 8:
Скопируйте код кода следующим образом:
<span id="totalSecond">2</span>
<script Language="javascript" type="text/javascript">
var второй = document.getElementByIdx_x('totalSecond').innerHTML;
если (isNaN (второй)) {
//...не метод числовой обработки
}еще{
setInterval(функция(){
document.getElementByIdx_x('totalSecond').innerHTML = -- Second;
если (второй <= 0) {
window.location = 'b.html';
}
}, 1000);
}
</скрипт>