Клиентский JavaScript. Справочник

         

Описание


Вы можете обращаться к слоям Вашего документа, используя массив layers. Этот массив содержит вхождение для каждого объекта Layer (тэг LAYER или ILAYER) документа; эти вхождения идут в порядке расположения в исходном коде. Например, если документ содержит три слоя с атрибутами NAME layer1, layer2 и layer3, Вы можете обратиться к этим объектам в массиве layers так:

document.layers["layer1"]
document.layers["layer2"]
document.layers["layer3"]

или так:

document.layers[0]
document.layers[1]
document.layers[2]

При доступе по целочисленному индексу массив элементов идёт в порядке z-order спереди назад, где 0 это самый нижний слой, а более высокие слои индексируются последующими целыми числами. Индекс слоя - не тот же, что его свойство zIndex, так как второе не обязательно перечисляет слои последовательными целыми числами. Смежные слои могут иметь одинаковые значения свойства zIndex.

Вот правильные способы доступа к объектам слоёв:

document.layerName
document.layers[index]
document.layers["layerName"]
// пример использования свойства layers для доступа к вложенным слоям:
document.layers["parentlayer"].layers["childlayer"]

Элементы массива layers это JavaScript-объекты, которые не могут быть установлены операцией присвоения, хотя их свойства - могут. Например, оператор

document.layers[0]="music"

является неправильным (и игнорируется), так как он пытается изменить массив layers. Однако свойства объектов массива можно читать, а некоторые из них можно записывать. Например, оператор

document.layers["suspect1"].left = 100;

является верным. Он устанавливает позицию слоя по горизонтали в 100. В следующем примере цвет фона устанавливается в blue для слоя bluehouse, который вложен в слой houses.

document.layers["houses"].layers["bluehouse"].bgColor="blue";

Для получения количества слоёв документа используйте свойство length: document.layers.length.



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