Красносельский
Константин
Константинович

Компьютер и программы

Веб-дизайн

Справочники

Документация по CSS1

Настройка файла .htaccess

Коды ошибки http сервера

Подстановочные символы и регулярные выражения

Спецификация файла robots.txt

SSI – Server Side Includes

Таблица кодировки символов кириллицы

Нестандартные символы в HTML

Вторая таблица символов HTML

MIME Types (типы файлов)

 

Советы начинающим

Как в PHP поместить enum в массив

Советы начинающим Веб-дизайнерам: Что, где и зачем.

Правила плохого тона

WEB-уловки

Камень предкновения: верстка таблицами или блоками?

Рекомендации по разработке веб сайта

 

Анализ WEB-конъюнктуры. Создание лучшего сайта и его раскрутка.

Анализ WEB-конъюнктуры

Предисловие

Приручение поисковых машин

Уровень документа - все гениальное просто

Благоустройство нор для поисковых червей или как водить пауков по нашей паутине

Ускорение индексации сайта

Если гора не идет к Магомету

Индекс цитирования

Что это такое и с чем его едят

Приобретение веса в глазах общественности

Послесловие

Последние замечания по интернет-раскрутке

 

Приложения

А: «Рекомендации лучших пауководов»

Краткий комментарий.

Советы специалистов поисковой системы Rambler.

Использование файлов robots.txt.

Часто задаваемые вопросы.

Советы специалистов поисковой системы Aport.

Регистрация сайта в Апорте.

Советы специалистов поисковой системы Yandex.

Добавление страниц

Индексирование

Положение страницы на выдаче

Поиск со своей страницы

Ответы на часто задаваемые вопросы

 

Б: «1000 сверх-сайтов Рунета»

1000 сверх-сайтов Рунета

 

В: «Сто наиболее популярных поисковых слов»

Сто наиболее популярных поисковых слов

 

Г: «Где это сделать?»

Где это сделать?

 

Д: «Практическое руководство!!!»

Краткий комментарий.

Окна, ссылки и меню.

Ссылки и окна. Внешний вид и внутреннее содержание.

Организация ссылок. Всевозможные оглавления.

Если вам не нравятся фреймы, значит, вы не умеете их готовить.

Меню из выпадающих списков (javascript и CSS).

Многоуровневое раскрывающееся меню (javascript и CSS).

Работа с базами данных.

Обработка баз данных браузером посетителя

Обработка баз данных сервером (PHP)

Взаимодействие с посетителем

Отправка писем с веб-страницы.

Формы

Методы форм.

Создание на сайте PHP голосования.

Регистрация и контроль посетителей (PHP).

Интерактивность материала.

Создание гостевой книги на PHP.

Удаление записей из текстовых баз (PHP).

Заргузка файлов на сервер по HTTP-протоколу (PHP).

Разное.

Псевдослучайные элементы (PHP, javascript).

Точное определение имени и версии браузера с помощью JavaScript, SSI или PHP

Клоакинг и технология «Входных дверей».

Отложенное выполнение и выполнение с заданным интервалом (javascript)

Информация о размере, дате, собственные счетчики и протоколы посещений

 

 

 

Консультации

Экспорт и импорт новостей

PHP chmod – права доступа к файлам

WEB 2.0 – миф, или реальность?

Давно забытый AJAX

Способы хранения веб-страниц: документы FrontPage или базы данных

Как заработать на своем сайте?

FTP клиент, как настроить Total Commander

Знак собаки @ и подавление ошибок в PHP

AJAX

AJAX с точностью до наоборот, или как научить AJAX сохранять историю в браузере

 

Мониторинг веб сайтов и анализ поисковых запросов

Документация по Веб-дизайну

Желающим скачать PHP скрипт или JavaScript

 

Литература и поэзия

Гуманитарные науки

Мастерская

Хронология материалов

Обращение к посетителям

Скачать шрифты

Скачать рефераты

Создание web сайта на заказ

Создание веб сайтов (цены)

Веб-сайты, созданные мной (потенциальным заказчикам)

Полезные ссылки

Об авторе

Статистика сайта

 

Web На сайте

 

 

 

ТаблицейБлоками.

Приложение Д: javascript метод setTimeout setInterval справочник

Последняя модификация: 10.08.2014 г

Страница загружена с адреса: http://webdesign.site3k.ru/conjuncture/append/d/leter.html

Моя студия веб-дизайна

Отложенное выполнение и выполнение с заданным интервалом

  1. Отложенное выполнение и метод setTimeout
  2. Выполнение с заданным интервалом и метод setInterval

Функции setInterval и setTimeout имеют сходное значение из-за чего, их часто используют не по назначению. Вот, например фрагмент таймера, в котором вместо setInterval используется setTimeout:

<script>
<!--
function showTime()
{

 ... Здесь код вырезан для компактности
 
setTimeout('showTime()', 1000);

}
// -->
</script>

Что мы здесь видим? Функция showTime постоянно вызывает сама себя, создавая, таким образом, бесконечный цикл. Такое поведение не является правильным и, хотя, оно может работать так, как задумывал автор, в старых версиях Netscape приводила к переполнению стека и аварийному выходу из программы. Более уместным здесь было бы применение setInterval и, сейчас станет ясно почему.

Отложенное выполнение и метод setTimeout

Метод setTimeout выполняет выражение по истечении установленного количества миллисекунд.

Синтаксис:

timeoutID=setTimeout(expression, msec)

timeoutID идентификатор, который используется только для окончания выполнения, используя метод clearTimeout.

expression строковое выражение или свойство существующего объекта.

msec числовое значение, числовой ряд или свойство существующего объекта в миллисекундах.

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

clearTimeout(timeoutID)

где timeoutID – идентификатор, назначенный данному вызову.

Метод setTimeout разрабатывался Нетскейпом как способ многократного выполнения функций с заданным интервалом времени, но в самом Нетскейпе, в свое время, была допущена ошибка и, через некоторое количество вызовов, программу клинило. Обнаружив эту ошибку, авторы ее исправили, но абсурдность метода никуда не делась. Фактически, метод setTimeout является вызовом функции из этой же функции. Сравните:

function showTime()
{
 ... Здесь код вырезан для компактности
 
setTimeout('showTime()', 1000);
}

и

function showTime()
{
 ... Здесь код вырезан для компактности
 
showTime();
}

Разницы нет. Более правильным программистским решением была бы организация нормального цикла:

function showTime()
{
for (условие) 
 {
 ... Здесь код вырезан для компактности
 }
}

Или так:

function showTime()
{
 ... Здесь код вырезан для компактности
}
for (условие) 
 {
   showTime();
 }

И этот подход реализован в JavaScript 1.3 методом setInterval. Таким образом, метод setTimeout утратил первоначальное значение и может применяться теперь только для совместимости со старыми браузерами (каких уже просто нет), либо совершенно с иной целью – для однократного выполнения выражения по истечении установленного количества миллисекунд (а не циклического вызова). Например, метод можно вызвать через 10 тысяч миллисекунд после открытия доступа к некому ресурсу, чтобы предупредить об истечении времени доступа. Или через тысячу миллисекунд после открытия страницы, чтобы вывести некое сообщение.

Выполнение с заданным интервалом и метод setInterval

Метод setInterval циклически выполняет выражение по истечении установленного количества миллисекунд.

Синтаксис:

timeoutID=setInterval(expression, msec)

timeoutID идентификатор, который используется только для окончания выполнения, используя метод clearInterval.

expression строковое выражение или свойство существующего объекта.

msec числовое значение, числовой ряд или свойство существующего объекта в миллисекундах.

Выражение выполняется непрерывно, пока не будет вызван метод

clearInterval(timeoutID)

где timeoutID – идентификатор, назначенный данному выражению.

В результате использования метода setInterval, рекурсивная функция часов принимает иной, более логичный вид:

function showTime()
{
 ... Здесь код вырезан для компактности
}
setInterval('showTime()', 1000);

То есть, цикл объявлен вне функции и, функция больше не вызывает сама себя, а это – наиболее правильное решение.

Пример мультяшки с использованием setInterval:

<HTML lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Крутая анимация!</title>

<SCRIPT LANGUAGE="JavaScript"><!--
counter=1;
MaxNum=2; // Максимальное число рисунков

function ChengeImage()
{
  counter++;
  if(counter>(MaxNum)) {counter=1;} // смена номера рисунка

  // вариант 1, рассчитанный на то, что рисунки названы номерами (1.gif, 2.gif и так далее)
   image1.src='img/'+ counter+'.gif';

  // Другой вариант - значения определяются для каждого номера (рисунки могут иметь любые названия)
  //if (counter==1) {image1.src='img/1.gif';}
  //if (counter==2) {image1.src='img/2.gif';}

}

//--></SCRIPT> 

</head>
<BODY onLoad="setInterval('ChengeImage()', 1000);" bgcolor=White TEXT=Black>

<img id=image1 src="img/1.gif">

</body>
</html>

Смотреть.

 

 

 

Комментарии к странице

 

 

 


На главную страницу сайта