отменить дальнейшую обработку события браузером, возвращая
В JavaScript 1.0 процедура
В этом скрипте Вы можете видеть еще одну вещь — в некоторых случаях Вам понадобится печатать символы кавычек. Например, мы хотим напечатать текст
Таймеры
С помощью функции Timeout (или таймера) Вы можете запрограммировать компьютер на выполнение некоторых команд по истечении некоторого времени. В следующем скрипте демострируется кнопка, которая открывает выпадающее окно не сразу, а по истечении 3 секунд.
Скрипт выглядит следующим образом:
<script language='JavaScript'>
<!- hide
function timer() {
setTimeout('alert('Время истекло!)', 3000);
}
// — >
</script>
…
<form>
<input type='button' value='Timer' onClick='timer()'>
</form>
Здесь
Во втором аргументе компьютеру сообщается, когда этот код следует выполнять. При этом время Вы должны указывать в миллисекундах (3000 миллисекунд = 3 секунда).
Прокрутка
Теперь, когда Вы знаете, как делать записи в строке состояния и как работать с таймерами, мы можем перейти к управлению прокруткой. Вы уже могли видеть, как текст перемещается строке состояния. В Интернет этим приемом пользуются повсеместно. Теперь же мы рассмотрим, как можно запрограммировать прокрутку в основной линейке. Рассмотрим также и всевозможные усовершенствования этой линейки.
Создать бегущую строку довольно просто. Для начала давайте задумаемся, как вообще можно создать в строке состояния перемещающийся текст — бегущую строку. Очевидно, сперва мы должны записать в строку состояния некий текст. Затем по истечении короткого интервала времени мы должны записать туда тот же самый текст, но при этом немного переместив его влево. Если мы это сделаем несколько раз, то у пользователя создастся впечатление, что он имеет дело с бегущей строкой.
Однако при этом мы должны помнить еще и о том, что обязаны каждый раз вычеслять, какую часть текста следует показывать в строке состояния (как правило, объем текстового материала превышает размер строки состояния).
Итак, исходный код скрипта — я добавил к нему еще некоторые комментарии:
<html>
<head>
<script language='JavaScript'>
<!- hide
// define the text of the scroller
var scrtxt = 'Это JavaScript! ' +
'Это JavaScript! ' +
'Это JavaScript!';
var len = scrtxt.length;
var width = 100;
var pos = — (width + 2);
function scroll() {
// напечатать заданный текст справа и установить таймер
// перейти на исходную позицию для следующего шага
pos++;
// вычленить видимую часть текста
var scroller = '';
if (pos == len) {
pos = — (width + 2);
}
// если текст еще не дошел до левой границы, то мы должны
// добавить перед ним несколько пробелов. В противном случае мы должны
// вырезать начало текста (ту часть, что уже ушла за левую границу
if (pos < 0) {
for (var i = 1; i <= Math.abs(pos); i++) {
scroller = scroller + ' ';}
scroller = scroller + scrtxt.substring(0, width — i + 1);
}
else {
scroller = scroller + scrtxt.substring(pos, width + pos);
}
// разместить текст в строке состояния
window.status = scroller;
// вызвать эту функцию вновь через 100 миллисекунд
setTimeout('scroll()', 100);
}
// — >
</script>
</head>
<body onLoad='scroll()'>
Это пример прокрутки в строке состояния средствами JavaScript.
</body>
</html>