Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«HTML: ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹ΠΉ ΡΠ°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 36

Автор АлСксандр Π§ΠΈΡ€Ρ‚ΠΈΠΊ

<TD><IMG src = "icons/5.jpg"><TD>ΠŸΡΡ‚Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню

</TABLE>

<!–БоздаСм Π²Ρ‚ΠΎΡ€ΠΎΠ΅ мСню (ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ скрываСтся)–>

<TABLE id = "menu2" class = "hidden">

<!β€“ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΌΠ΅Π½ΡŽβ€“>

<TR id = "menu2_item1" class = "item" onClick = "menu2_item1_click()"

onMouseOver = "menu2_item1.className = 'selected'"

onMouseOut = "menu2_item1.className = 'item'">

<TD><IMG src = "balls/ball1.bmp"><TD>ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню

<!–Второй ΠΏΡƒΠ½ΠΊΡ‚ ΠΌΠ΅Π½ΡŽβ€“>

<TR id = "menu2_item2" class = "item" onClick = "menu2_item2_click()"

onMouseOver = "menu2_item2.className = 'selected'"

onMouseOut = "menu2_item2.className = 'item'">

<TD><IMG src = "balls/ball2.bmp"><TD>Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню

<!–ВрСтий ΠΏΡƒΠ½ΠΊΡ‚ ΠΌΠ΅Π½ΡŽβ€“>

<TR id = "menu2_item3" class = "item" onClick = "menu2_item3_click()"

onMouseOver = "menu2_item3.className = 'selected'"

onMouseOut = "menu2_item3.className = 'item'">

<TD><IMG src = "balls/ball3.bmp"><TD>Π’Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню

</TABLE>

<!–ВвСрху страницы организуСтся строка ΠΌΠ΅Π½ΡŽβ€“>

<TABLE id = "main_menu1" class = "menu_line">

<COL span = "2" width = "150">

<COL width = "*">

<TR>

<TD class = "item" id = "main_item1"

onClick = "show_menu(menu1, main_menu1, main_item1)"

onMouseOver = "main_item1.className = 'selected'"

onMouseOut = "main_item1.className = 'item'">ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ мСню1

<TD class = "item" id = "main_item2"

onClick = "show_menu(menu2, main_menu1, main_item2)"

onMouseOver = "main_item2.className = 'selected'"

onMouseOut = "main_item2.className = 'item'">ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ мСню2

<TD><!-ΠŸΡƒΡΡ‚Π°Ρ ячСйка, просто Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСсто–>

</TABLE> <!–ДалСС ΠΈΠ΄Π΅Ρ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ содСрТимоС страницы–>

<P>ВСкст страницы...

</BODY>

</HTML>

Π₯отя Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ практичСски Π½Π΅ содСрТит тСкста, ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ содСрТимым страницы (вСдь ΠΌΡ‹ рассматриваСм Π½Π΅ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ страницы тСкстов, Π° мСню), ΠΎΠ½ всС Ρ€Π°Π²Π½ΠΎ получился довольно ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΌ. Π‘ΠΎΠ»ΡŒΡˆΠ΅ всСго мСста Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 13.5 Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ описания Π΄Π²ΡƒΡ… мСню. ОписаниС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ мСню практичСски Π½Π΅ отличаСтся ΠΎΡ‚ рассмотрСнного Ρ€Π°Π½Π΅Π΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 13.6. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΆΠ΅ мСню, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ ΠΊΠ°ΠΊ menu2, создано ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ стилСй ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ menu_line. ПослС этого ΠΎΡ‡Π΅Π½ΡŒ просто ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ любоС количСство строк мСню Π½Π° страницС. ΠŸΡ€ΠΈ создании строки мСню основной Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ являСтся настройка ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ мСню (см. ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ с id, Ρ€Π°Π²Π½Ρ‹ΠΌ main_menu1 Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 13.5).

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² ΠΈΠ· строки мСню происходит Π²Ρ‹Π·ΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сцСнария. Π­Ρ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² пСрСдаСтся ссылка Π½Π° мСню, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ссылки Π½Π° строку мСню ΠΈ ссылка Π½Π° ΠΏΡƒΠ½ΠΊΡ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ относится ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ мСню. ΠŸΡ€ΠΈ рассмотрСнии сцСнария станСт ясно, Π·Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ.

НиТС приводится тСкст сцСнария ΠΈΠ· Ρ„Π°ΠΉΠ»Π° popup_menu.js (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 13.16).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 13.16. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° popup_menu.js

/*

Ѐункция ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ мСню ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ мСню

*/

var lastMenu = null; //ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ мСню function show_menu(menu, main_menu, item){

if (menu.className == "menu"){

//Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ мСню hide_menu();

return;

}

if (lastMenu != null)

//Π‘ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ мСню hide_menu();

//ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ мСню menu.className = "menu";

menu.style.top = main_menu.offsetTop + main_menu.clientHeight;

menu.style.left = main_menu.offsetLeft + item.offsetLeft;

lastMenu = menu;

}

//Ѐункция скрываСт мСню, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ Ρ€Π°Π½Π΅Π΅ function hide_menu(){

lastMenu.className = "hidden";

lastMenu = null;

}

/*

Π”Π°Π»Π΅Π΅ содСрТатся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню "menu1"

*/

function menu1_item1_click(){

hide_menu();

alert("Π’Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² мСню1");

//Π”Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия...

}

function menu1_item2_click(){

hide_menu();

alert("Π’Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² мСню1");

//Π”Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия...

}

function menu1_item3_click(){

hide_menu();

alert("Π’Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² мСню1");

//Π”Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия...

}

function menu1_item4_click(){

hide_menu();

alert("Π’Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² мСню1");

//Π”Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия...

}

function menu1_item5_click(){

hide_menu();

alert("Π’Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ пятый ΠΏΡƒΠ½ΠΊΡ‚ Π² мСню1");

//Π”Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия...

}

/*

Π”Π°Π»Π΅Π΅ содСрТатся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню "menu2"

*/

function menu2_item1_click(){

hide_menu();

alert("Π’Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² мСню2");

//Π”Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия...

}

function menu2_item2_click(){

hide_menu();

alert("Π’Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² мСню2");

//Π”Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия...

}

function menu2_item3_click(){

hide_menu();

alert("Π’Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² мСню2");

//Π”Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия...

}

ΠŸΠ΅Ρ€Π²Π°Ρ функция ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 13.16 сцСнария ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ мСню. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ являСтся ссылкой Π½Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ мСню (Ρ‚Π°Π±Π»ΠΈΡ†Π° Π² HTML‑докумСнтС).

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ позиционирования ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ мСню. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ мСню, скрываСтся Ρ‚ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Ρ€Π°Π½Π΅Π΅ (Ссли ΠΎΠ½ΠΎ имССтся). Для этого ссылка Π½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ мСню сохраняСтся Π² глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ lastMenu.

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π» мСню, Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π΄ΡƒΠΌΠ°Π» Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ какой‑либо ΠΏΡƒΠ½ΠΊΡ‚, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ мСню. Π’ рассматриваСмом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ для закрытия мСню ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый ΠΏΡƒΠ½ΠΊΡ‚ строки мСню.

Основной объСм сцСнария ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню. Π”ΡƒΠΌΠ°ΡŽ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ имСнования функций‑обработчиков Π² зависимости ΠΎΡ‚ принадлСТности Π² мСню ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½. Новой ΠΆΠ΅ Π΄Π΅Ρ‚Π°Π»ΡŒΡŽ являСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ hide_menu(). Π­Ρ‚ΠΈΠΌ достигаСтся Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ мСню послС Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π΅Π³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ².

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ screen

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ screen прСдоставляСт Π½Π°Π±ΠΎΡ€ свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ возмоТностях видСосистСмы ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Бвойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° screen приводятся Π² Ρ‚Π°Π±Π». 13.10.

Π’Π°Π±Π»ΠΈΡ†Π° 13.10. Бвойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° screen

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ screen ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ большой интСрСс для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ заботится ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π» максимум ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π° ΠΏΡ€ΠΈ просмотрС вСб‑страниц нСзависимо, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ своСго ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ event

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ event являСтся большим ΠΏΠΎΠ΄Π°Ρ€ΠΊΠΎΠΌ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сцСнарии, досконально ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΈ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ практичСски Π½Π° всС дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‡Π΅Π½ΡŒ сильно отличаСтся Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ рассмотрСно использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° event Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Internet Explorer.

Бвойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° event

Π˜Ρ‚Π°ΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Internet Explorer, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ event ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΊ свойству ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° window. МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ event ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Бвойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° event ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π». 13.11.

Π’Π°Π±Π»ΠΈΡ†Π° 13.11. Бвойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° event
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° event

Для дСмонстрации Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ event рассмотрСны Π΄Π²Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ указатСля ΠΈ состоянии ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΡ‹ΡˆΠΈ.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ получСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ указатСля ΠΌΡ‹ΡˆΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ВСкст HTML‑докумСнта ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ благодаря Β«Π²ΡΠΏΠ»Ρ‹Ρ‚ΠΈΡŽΒ» событий ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΠΈ ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ написав ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события onMouseMove для элСмСнта BODY (это самый Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ элСмСнт, Π΄ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ событиС) (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 13.17).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 13.17. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ полоТСния ΠΌΡ‹ΡˆΠΈ

<!DOCTYPE HTML PUBLIC Β«-//W3C//DTD HTML 4.01 Transitional//ENΒ»>

<HTML>

<HEAD>

<TITLE>Π‘Π»Π΅ΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΌΡ‹ΡˆΡŒΡŽ</TITLE>

<STYLE type = "text/css">

.category {font-weight: bold}

.value {font-family: "courier new"}

</STYLE>

<SCRIPT type = "text/javascript">

function move(){

//ЗаписываСм Π² элСмСнты страницы Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

//ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ указатСля ΠΌΡ‹ΡˆΠΈ scr.innerText = event.screenX + "x" + event.screenY;

wnd.innerText = event.clientX + "x" + event.clientY;

element.innerText = event.offsetX + "x" + event.offsetY;

prnt.innerText = event.x + "x" + event.y;

//Π˜Π½Π΄ΠΈΠΊΠ°Ρ†ΠΈΡ состояния ΠΌΡ‹ΡˆΠΈ switch (event.button){

case 0: mouse.innerText = "0|0|0"; break;

case 1: mouse.innerText = "1|0|0"; break;

case 2: mouse.innerText = "0|0|1"; break;

case 3: mouse.innerText = "1|0|1"; break;

case 4: mouse.innerText = "0|1|0"; break;

case 5: mouse.innerText = "1|1|0"; break;

case 6: mouse.innerText = "0|1|1"; break;

case 7: mouse.innerText = "1|1|1"; break;

}

}

</SCRIPT>

</HEAD>

<BODY onMouseMove = "move()">

<DIV style = "border-style: solid; border-width:1px; width: 50%;

position: absolute; left: 50%; background-color: yellow; padding: 2mm">

<SPAN class = "category">Π­ΠΊΡ€Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹: </SPAN>

<SPAN class = "value" id = "scr"></SPAN><BR>

<SPAN class = "category">ΠžΠΊΠΎΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹: </SPAN>

<SPAN class = "value" id = "wnd"></SPAN><BR>

<SPAN class = "category">ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ элСмСнта: </SPAN>

<SPAN class = "value" id = "element"></SPAN><BR>

<SPAN class = "category">ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ родитСля: </SPAN>

<SPAN class = "value" id = "prnt"></SPAN>

<P><SPAN class = "category">Кнопки ΠΌΡ‹ΡˆΠΈ (Π»|c|ΠΏ): </SPAN>

<SPAN class = "value" id = "mouse"></SPAN>

</DIV>

<H1>Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ</H1>

<P>Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ страницы...

</BODY>

</HTML>

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ HTML‑докумСнт выглядит Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 13.7.

Рис. 13.7. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ указатСля ΠΈ состояния ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΡ‹ΡˆΠΈ


Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ пСрСтаскиваниС элСмСнтов страницы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΈ. ΠŸΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ элСмСнта начинаСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ ΠΈ заканчиваСтся ΠΏΡ€ΠΈ Π΅Π΅ отпускании. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Ρ‡Π°Π»Π° пСрСмСщСния, самого пСрСмСщСния ΠΈ «бросания» элСмСнта Π½Π° Π½ΠΎΠ²ΠΎΠΌ мСстС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… событий элСмСнта BODY (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 13.18).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 13.18. ΠŸΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ элСмСнтов

<!DOCTYPE HTML PUBLIC Β«-//W3C//DTD HTML 4.0 Transitional//ENΒ»>

<HTML>

<HEAD>

<TITLE>ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ элСмСнтов страницы</TITLE>