Кроме того, мы используем параметр
Так, если в первом тэге <layer> Вы напишете
Слои и JavaScript
Рассмотрим теперь, как можно получить доступ к слоям через JavaScript. Начнем же мы с примера, где пользователь получает возможность, нажимая кнопку, прятать или показать некий слой.
Для начала мы должны знать, каким образом слои представлены в JavaScript. Как обычно, для этого имеются несколько способов. Самое лучшее — дать каждому слою свое имя. Так, если мы задаем слой
<layer… name=myLayer>
…
</layer>
то в дальнейшем можем получить доступ к нему с помощью конструкции
Доступ к этим слоям можно также получить через целочисленный индекс. Так, чтобы получить доступ к самому нижнему слою, Вы можете написать
Слои имеют несколько свойств, которые можно изменять с помощью скрипта на JavaScript. В следующем примере представлена кнопка, которая позволяет Вам скрывать или, наоборот, предоставлять один слой (требуется Netscape Navigator версии 4.0 или выше).
Исходный код скрипта выглядит следующим образом:
<html>
<head>
<script language='JavaScript'>
<!- hide
function showHide() {
if (document.layers['myLayer'].visibility == 'show')
document.layers['myLayer'].visibility= 'hide'
else document.layers['myLayer'].visibility= 'show';
}
// — >
</script>
</head>
<body>
<ilayer name=myLayer visibility=show>
<font size=+1 color='#0000ff'><i>This text is inside a layer</i></font>
</ilayer>
<form>
<input type='button' value='Show/Hide layer' onClick='showHide()'>
</form>
</body>
</html>
Данная кнопка вызывает функцию
Вместо тэга <layer> я также пользовался тэгом <ilayer>, поскольку хотел поместить этот слой в 'информационный поток' документа.
Перемещение слоев
Свойства
document.layers['myLayer2'].left= 200;
Перейдем теперь к программе перемещения слоев — она создает нечто вроде прокрутки внутри окна браузера.
Сам скрипт выглядит следующим образом:
<html>
<head>
<script language='JavaScript'>
<!- hide
function move() {
if (pos < 0) direction= true;
if (pos > 200) direction= false;
if (direction) pos++
else pos-;
document.layers['myLayer2'].left= pos;
}
// — >
</script>
</head>
<body onLoad='setInterval('move(), 20)'>
<ilayer name=myLayer2 left=0>
<font size=+1 color='#0000ff'><i>This text is inside a layer</i></font>
</ilayer>
</body>
</html>