Непрофессиональное введение в JAVASCRIPT

         

Слои и JavaScript


Теперь мы собираемся обращаться к слоям через JavaScript. Нам нужно начать с примера, где пользователь может нажать кнопку, чтобы скрыть и показать слой.

Сначала мы должны узнать, как слои представляются в JavaScript. Как обычно существует несколько путей. Лучше всего присвоить имя каждому слою. Если мы определяем уровень с

<layer ... name=myLayer> ... </layer>

мы можем обратиться к этому уровню через document.layers["myLayer"]. Согласно документации, предоставленной Netscape мы можем также писать document.myLayer, но это приводит к сбою моего броузера. Несомненно, это проблема preview-версии броузера и будет решена в финальной версии (в настоящее время я использую Netscape Navigator 4.0 PR3 в WinNT). Кажется, нет никаких проблем с document.layers["myLayer"]

- так что мы собираемся использовать этот вариант.

Вы также можете обращаться к слоям через целочисленный индекс. Чтобы обращаться к самому нижнему слою, Вы можете писать document.layers[0]. Пожалуйста обратите внимание, что индекс не тоже самое, что и свойство z- index. Если Вы имеете например два слоя, названные layer1 и layer2 у которых z-индексом являются числа 17 и 100, Вы можете обращаться к этим уровням через document.layers[0] и document.layers[1], а не через document.layers[17] и document.layers[100].

Существует несколько свойств слоя, которые могут быть изменены с помощью JavaScript. Следующий пример предоставляет кнопку, которая позволяет Вам скрывать и отображать один слой.(требуется Netscape Navigator 4.0 или выше!).

This text is inside a layer

Исходный текст выглядит так:

<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>

Кнопка вызывает функцию showHide(). Вы можете видеть, что эта функция обращается к свойству visibility

layer-объекта myLayer. Через присвоение "show"

или "hide" в document.layers["myLayer"].visibility

Вы можете показать или скрыть слой. Пожалуйста обратите внимание, что строки "show" и "hide"

не зарезервированные слова, то есть Вы не можете писать document.layers["myLayer"].visibility= show.

Я использовал <ilayer> тег вместо тега <layer>, потому что я хотел поместить слой в поток документа.



Содержание раздела