На этом шаге мы приведем пример скриптлета.
Дабы пояснмть механизм работы скриптлета и раскрыть возможности его применения, мы приводим скриптлет ColorSelector - простой элемент управления, позволяющий просматривать набор цветов и выбирать один.
<!-- ColorSelector.htm -->
<HTML><HEAD></HEAD>
<BODY style="border:2px solid black;
color:white; background-color:white "
ondblclick = passthru()>
<DIV ID=d1 style="position:relative; border:1px solid black;
top:5; left:5; width:130; height:50">
</DIV >
<P ID=p1 style="position:relative; left:13" >
<BUTTON ID=BackButton onclick = cycle("back") > < </BUTTON>
<BUTTON ID=ForwardButton onclick = cycle("forward")> > </BUTTON>
<BUTTON ID=SelectButton onclick = doSelect() > Select </BUTTON>
</P>
</BODY>
<SCRIPT LANGUAGE="JavaScript">
public_description = new colorselector();
var colors = new Array("white", "red", "green", "blue", "black") ;
var numcolors = colors.length;
var curcolor = 0;
// Object description
function colorselector()
{
this.get_color = getcolor;
}
// Public property access function
function getcolor(){
return colors[ curcolor ];
}
// Events
// Standard...
function passthru()
{
if(!window.external.frozen )
window.external.bubbleEvent();
}
// Custom...
function doSelect()
{
if(!window.external.frozen )
window.external.raiseEvent( "onClickSelect", colors[ curcolor ] );
}
// Private methods
function cycle( direction )
{
if( direction == "back" )
{
curcolor -- ;
if( curcolor < 0 )
curcolor = numcolors-1;
}
if( direction == "forward" )
{
curcolor++;
if( curcolor >= numcolors )
curcolor = 0;
}
d1.style.backgroundColor = colors[ curcolor ];
}
</SCRIPT>
</HTML>
Как видно из функции colorselector(), присвоенной объекту скриптлета public_description, скриптлет предоставляет единственное свойство color, доступное только для чтения. Обратите внимание, что скригттлет также предоставляет стандартное событие ondblclick и генерирует специальное событие onClickSelect.
На следующем шаге мы рассмотрим размещение скриптлета.