Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Сценарии JavaScript в активных страницах Web
<<-[Весь Текст]
Страница: из 116
 <<-
 
sscroll вызывает метод setTimeout, передавая ему 
через первый параметр переменную с командой, подлежащей выполнению, а через 
второй - время задержки, по прошествии которого данную команду нужно будет 
выполнить.
   В качестве выполняемой команды мы указываем методу setTimeout вызов функции 
sscroll. Таким образом в нашем сценарии эта функция вызывается периодически.
   В функции sscroll мы определили три локальные переменные. Переменная cmd 
хранит команду вызова функции sscroll. В переменной szOut мы подготавливаем 
текст, отображаемый в строке состояния браузера при каждом вызове функции 
sscroll. 
   Текстовая переменная szText используется как рабочая. В ней формируется 
сообщение для вывода.  Вначале в переменную szText записывается nSpace пробелов,
 а затем добавляется строка szMsg:
for (i=0 ; i < nSpace ; i++) 
{    
  szText += " ";
}
szText += szMsg;
   Для того чтобы при каждом вызове функции sscroll наше сообщение отображалось 
со сдвигом на одну позицию, мы извлекаем из переменной szText подстроку. 
Извлечение подстроки выполняется с помощью метода substring, определенного во 
встроенном классе текстовых строк String. Полученная подстрока записывается в 
свойство status объекта window и таким образом отображается в строке состояния:
szOut = szText.substring(nIteration, nSpace + nIteration);
window.status = szOut;
   Первый параметр метода substring определяет начальную позицию подстроки 
внутри строки, а второй - конечную.
   После отображения сообщения функция sscroll увеличивает значение глобального 
счетчика nIteration на единицу:
nIteration++;
   Когда в результате сдвига сообщение полностью уходит из строки состояния, 
счетчик nIteration снова устанавливается в нулевое значение:
if(nIteration > nSpace + szMsg.length)
{
  nIteration = 0;
}
   Обратите внимание, что общая длина сдвигаемой строки здесь вычисляется как 
сумма значения nSpace (количество начальных пробелов) и длины сообщения szMsg. 
Последняя определяется с помощью метода length, определенного во встроенном 
классе String.
  Ограничение времени реакции пользователя
   Иногда пользователь, попав на страницу Web, долго не может понять, что нужно 
делать. Вы можете создать сценарий, который отображает в этой ситуации документ 
HTML с подсказкой. Разумеется, подсказка должна отображаться только в том 
случае, если пользователь не выполняет над вашей страницей никаких действий в 
течении достаточно продолжительного времени.
   Но как измерить время, в течении которого пользователь не активен?
   В этом вам помогут методы setTimeout и clearTimeout. Первый из этих методов 
мы уже использовали в предыдущем сценарии для организации периодического 
выполнения функции.
   Мы продемонстрируем применение этих методов для решения другой задачи, 
связанной с ограничением времени ввода пароля.
   Когда пользователь загружает документ HTML, исходный текст которого 
представлен в листинге 2.6, на экране появляется форма с полем, предназначенным 
для ввода текстовой строки пароля (рис. 2.12).

Рис. 2.12. Форма в доку
 
<<-[Весь Текст]
Страница: из 116
 <<-