После того как мы научились записывать текст на панель состояния и создавать временные задержки, перейдем к рассмотрению движущихся текстов. Вы уже вероятно встречались с движущимся текстом на панели состояния. Его можно встретить на многих сайтах в Интернете. Мы познакомимся с тем, как можно запрограммировать элементарный вариант движущегося текста на панели состояния.
Кроме этого мы подумаем, как можно улучшить качество движущегося текста. Движущийся текст можно создать довольно просто. Представим себе, что нужно для создания движущегося текста на панели состояния. Сначала необходимо просто записать текст на панель состояния. Затем, по истечении небольшого промежутка времени, нам необходимо записать этот текст, но слегка смещенный влево. Если мы будем повторять эту последовательность снова и снова, то создастся впечатление, что перед нами движущийся справа налево текст. Кроме того, нам необходимо позаботиться о том, чтобы видимая часть текста выглядела наиболее выгодно.
Это важно иметь ввиду, поскольку, как правило, весь текст целиком бывает гораздо длиннее, чем панель состояния, поэтому весь текст целиком не может поместиться на ней.
Ниже приведен пример. Нажатие кнопки приведет к загрузке новой страницы, содержащей на панели состояния движущийся текст.
Рисунок 7 – Результат выполнения скрипта.
После нажатия на кнопку Движущийся текст в панели состояния нового окна появляется движущаяся строка Этот движущийся текст создан при помощи JavaScript!.
Текст программы выглядит следующим образом:
<html>
<head>
<script language="JavaScript">
<!-- hide
// Задаем выводимый текст
var scrtxt = "Этот текст выводится при помощи JavaScript ! "+
"Этот текст выводится при помощи JavaScript! " +
"Этот текст выводится при помощи JavaScript!";
var length = scrtxt.length;
var width = 100;
var pos = -(width + 2);
function scroll( ) {
// выводим текст с правой позиции и устанавливаем временную
//задержку
// сдвигаем позицию на один шаг
pos++;
// вычисляем, какая часть текста будет видима
var scroller = "";
if (pos == length) {
pos = - (width + 2);
}44 Java Script
// если текст не достиг пока левого края,
// то необходимо добавить несколько пробелов — иначе придется
// вновь обращаемся к функции спустя 100 миллисекунд
setTimeout ("scroll()" , 100);
}
// -->
</script>
</head>
<body onLoad="scroll() ">
Здесь располагается текст HTML-странички.
</body>
</html>
Основная часть функции scroll() осуществляет вычисления того, какая часть текста будет видима на панели состояния. Мы не будем детально задерживаться на объяснении того, как устроена данная часть программы. Для того, чтобы запустить движущийся текст, мы использовали средство управления событиями onLoad, указав его в ярлыке <body>. Следовательно, функция scroll() будет выполнена сразу же после загрузки страницы.
Мы обращаемся к функции scroll() посредством свойства onLoad. Производится первая часть расчетов строки текста и ее вывод на панель состояния. В конце описания функции scroll() мы определяем временную задержку. В результате задержки повторное обращение к функции scroll() произойдет лишь после указанного промежутка времени (100 миллисекунд). На очередном шаге текст смещается на один шаг влево, затем снова временная задержка. Это повторяется неограниченно долго.
Постоянно движущийся текст на панели состояния — это не лучшее решение. Такой текст скоро становится надоедливым. К тому же он мешает читать информацию о ссылках. Быть может лучшим было бы решение, когда одна часть текста движется справа налево, а другая часть — слева направо. Затем в центре, натолкнувшись друг на друга, текст останавливается, некоторое время остается неподвижным, затем исчезает. При наличии фантазии движущийся текст может оказаться неплохим инструментом в арсенале создателя HTML-страничек.
Задание:
Реализовать приведенную в данном разделе программу, создав новый HTML-документ, и проверить правильность ее выполнения.