Примеры, размещенные в данной статье являются полностью автономными т.е. Вы можете создать файл с расширением html, вставить туда код примера и запустить с помощью Internet Explorer. Функции, написанные на VBScript нужно включать после тега Script, где указывается на чем написан скрипт (т.е. VBScript или JavaScript), а содержимое скрипта лучше указывать в комментарии языка html т.е. между <!-- и -->. Например:
<html> <head> </head> <body> <INPUT TYPE="Button" VALUE="Кнопка 1" ONCLICK=ButtonDown("1")> <INPUT TYPE="Button" VALUE="Кнопка 2" ONCLICK=ButtonDown("2")> </body> <SCRIPT TYPE="text/vbscript"><!-- function ButtonDown(n) msgbox "Вы нажали на кнопку "+n end function --></SCRIPT>Для доступа к конкретному элементу можно использовать идентификатор элемента ID, который можно присвоить любому элементу. Для элементов формы (т.е. для кнопок, текстовых полей и т.д.) можно использовать атрибут NAME:
<html> <head> </head> <body> <P ID="P1" ONMOUSEOVER=P1_MouseOver() ONMOUSEOUT=P1_MouseOut()>текст</P> <INPUT TYPE="Button" ID="Button1" VALUE="Кнопка 1" ONMOUSEOVER=Button1_MouseOver() ONMOUSEOUT=Button1_MouseOut()> <br> <INPUT TYPE="Button" NAME="Button2" VALUE="Кнопка 2" ONMOUSEOVER=Button2_MouseOver() ONMOUSEOUT=Button2_MouseOut()> </body> <SCRIPT TYPE="text/vbscript"><!-- ' При нахождении мышки над одним из трех элементов ' этой страницы делаем шрифт этого элемента зеленым function P1_MouseOver() P1.style.color=vbgreen end function function P1_MouseOut() P1.style.color=vbblack end function function Button1_MouseOver() Button1.style.color=vbgreen end function function Button1_MouseOut() Button1.style.color=vbblack end function function Button2_MouseOver() Button2.style.color=vbgreen end function function Button2_MouseOut() Button2.style.color=vbblack end function --></SCRIPT>Теперь рассмотрим пример страницы, где по нажатию кнопки выводится сумма чисел двух текстовых окошек:
<html> <head> </head> <body> <INPUT TYPE="Text" NAME="Text1" VALUE="12"> <INPUT TYPE="Text" NAME="Text2" VALUE="15"> <INPUT TYPE="Button" NAME="Button1" VALUE="Сумма" ONCLICK=Sum()> </body> <SCRIPT TYPE="text/vbscript"><!-- function Sum() a=cint(Text1.value) b=cint(Text2.value) msgbox a+b end function --></SCRIPT>Как Вы видите вместо функции Val для перевода из строки в число я использовал функцию cint. Дело в том что функции Val как и функции Str в VBScript нет.
В следующем примере создадим всплывающее меню, которое будет возникать при наведении мышки на ссылку и исчезать при щелчке по любому месту экрана. Для наглядности в таблице стилей укажем чтобы ссылки меняли цвет при наведении мыши:
<html> <head> <style type="text/css"> A:link {color:blue} A:hover {color:red} </style> </head> <body ONCLICK=MenuOff()> <A href="" ONMOUSEOVER=MenuOn()>меню</A> <DIV ID="Menu" STYLE="position:absolute; top:20; left:50; visibility='hidden'; background-color:green"> <A href="">Пункт меню 1</A> <br> <A href="">Пункт меню 2</A> <br> <A href="">Пункт меню 3</A> <br> <A href="">Пункт меню 4</A> </DIV> </body> <SCRIPT TYPE="text/vbscript"><!-- function MenuOn() Menu.style.visibility="visible" end function function MenuOff() Menu.style.visibility="hidden" end function --></SCRIPT>В VBScript имеется возможность отключить обработку какого-нибудь события. Например, когда Вы вставляете ссылку, то при ее нажатии она обязательно должна загрузить страницу, указанную в параметре href. Если в этом параметре ничего не указать, то загрузится содержимое текущей папки. Но в некоторых случаях ссылку удобно использовать в других целях, поэтому обработку события ссылки нужно отключить. Например:
<html> <head> </head> <body> <a href="" onclick=link_click()>ссылка</a> </body> <SCRIPT TYPE="text/vbscript"><!-- function link_click ' Отключаем обработку события window.event.returnValue=false window.event.cancelBubble=true ' Выполняем какое либо действие msgbox "Вы щелкнули по ссылке" end function --></SCRIPT>Также в VBScript Вы можете узнать координаты мышки:
<html> <head> </head> <body> Координаты мыши относительно экрана <br> <input type="text" name="Text1"> <br> Координаты мыши относительно документа <br> <input type="text" name="Text2"> <br> Координаты мыши относительно окна <br> <input type="text" name="Text3"> <table border=1 width=200 height=200><tr><td onmousemove=t_mousemove()> Проведите мышью по этому окну </td></tr></table> </body> <SCRIPT TYPE="text/vbscript"><!-- function t_mousemove Text1.value="X="+cstr(window.event.screenX)+"; Y="+cstr(window.event.screenY) Text2.value="X="+cstr(window.event.clientX)+"; Y="+cstr(window.event.clientY) Text3.value="X="+cstr(window.event.offsetX)+"; Y="+cstr(window.event.offsetY) end function --></SCRIPT>Вы наверно часто видели в интернете картинные галереи, где нажатием кнопок (следующая, предыдущая) Вы переходите к страничке с следующей фотографией. Проблема в том, что ради просмотра одной фотографии (бывает часто небольшой) грузится вся страница с картинками, ссылками и т.д. При этом страница может занимать довольно большой объем. Гораздо лучше было бы, если бы загружалась только фотография, а все остальное оставалось на своих местах. Здесь Вы увидете пример такой страницы.