Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа №19.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
118.78 Кб
Скачать

Обработчики событий

В тегах <body> и <frame> можно использовать обработчики событий, связанных загрузкой и выгрузкой документа, onLoad и onUnload. Примеры использования событий будем разбирать позже.

Приведем несколько примеров использования объекта document.

Для записи текста в HTML-формате в браузер иногда применяют функцию document.writeln(). Например, можно динамически создавать теги изображений, выводя изображения на экран посредством следующего: document.open(); document.writeln("<img sr='myimage.gif'>"); document.close();     С помощью JavaScript программ, а в частности при помощи объекта document, можно создавать законченные HTML-документы и другие JavaScript программы. Например: document.open(); document.writeln("<script language='JavaSript'>"+       "alert('Hello World!')"+       "</script>"); document.close();

Заметьте, что в приведенных примерах несколько строк объединяются при помощи операции сложения +. Этот способ удобно применять, когда строки текста программы слишком длинны, чтобы поместиться в редактируемом окне, или когда сложные строки необходимо разбить на несколько простых.

Практическая часть

1. Разберите пример для метода document приведенный ниже

<SCRIPT LANGUAGE='JavaScript'> function banner(msg,ctrlwidth) { msg = " --- "+msg newmsg = msg while (newmsg.length < ctrlwidth) {newmsg += msg} document.write ('<FORM NAME="Banner">') document.write ('<CENTER><INPUT NAME="banner" VALUE= "'+newmsg+'" SIZE= '+ctrlwidth+'></CENTER>') document.write ('</FORM>') rollmsg() } function rollmsg() { NowMsg=document.Banner.banner.value NowMsg=NowMsg.substring(1,NowMsg.length)+NowMsg.substring(0,1) document.Banner.banner.value = NowMsg bannerid=setTimeout("rollmsg()",100) } </SCRIPT> <SCRIPT language='JavaScript'> banner("У попа была собака, он ее любил, она съела кусок маса, он ее убил, закопал и на могиле написал:",70) </script>

1. Функция banner() имеет 2 параметра: - msg - текст сообщения для циклического вывода, - ctrlwidth - ширина поля вывода в символах. К тексту msg добавляем слева символы --- , чтобы не сливались предыдущий и последующий экземпляры текста. В переменную newmsg запишем непрерывную последовательность из ctrlwidth экземпляров текста msg. В форме Banner определяем текстовую переменную banner длиной ctrlwidth символов и с начальным значением newmsg. Вызываем программу прокрутки rollmsg(). 2. Функция rollmsg() выполняет следующие действия: - Записать в newmsg текущее содержимое строки текста, - Самый первый символ текста переставляем в конец(здесь и достигается эффект прокрутки , - Полученный текст пересылается назад, в форму. - Функция setTimeout("rollmsg()",100) выполняет задержку функции rollmsg с интервалом в 100 миллисекунд. 3. Вызываем функцию banner с соответствующими параметрами.

2. Разберите следующий скрипт:

<SCRIPT LANGUAGE = "JavaScript">

netscape = 0;

if (navigator.appName == "Netscape" ||

parseInt(navigator.appVersion)> 3) {

netscape = 1;

change = new Image(64, 54); change.src = "webp102.gif";

normal = new Image(64, 54); normal.src = "webp101.gif";

}

function change_image() {

if (netscape==1) {

document.images[0].src = change.src;

}

}

function normal_image() {

if (netscape==1) {

document.images[0].src = normal.src;

}

}

</SCRIPT>

<A HREF="javascript.html"

onMouseOver="change_image();

window.status='мышка в картинке';

return true"

onMouseOut="normal_image();

window.status='мышка вне картинки';

return true">

<CENTER><IMG SRC="webp101.html" WIDTH=64 HEIGHT=54 BORDER=0 ALT="click here!">

<BR>