KLayers
Документация

Оглавление

Что есть KLayers

Библиотека KLayers предназначена для облегчения работы с DHTML в различных браузерах. Она представляет собой набор функций и методов, написанных на JavaScript, которые унифицируют проведение различных операций с DHTML-объектами, т. е. позволяют программисту меньше задумываться о различных конкретных особенностях разных браузеров, что повышает продуктивность и уменьшает количество ошибок.

К примеру, чтобы узнать высоту содержимого документа, программист должен обратиться к следующим переменным:

KLayers берет на себя эти рутинные действия. Используя ее, программист для тех же целей будет должен всего лишь вызвать функцию getDocumentHeight(), и ему будет возвращен нужный результат вне зависимости от того, в каком DHTML-браузере выполняется его скрипт.

Использование KLayers

Вставка в файл

Библиотека KLayers представляет собой JavaScript-программу, файл с которой подключается c помощью стандартных тегов

<script language="JavaScript" type="text/javascript" src="klayers.js"></script>
после чего ее функции и методы становятся доступны.

Какие браузеры поддерживаются?

В настоящий момент поддерживаются все основные DHTML-браузеры, а именно:

Другие браузеры пока официально не поддерживаются.

В случае выхода новых браузеров я добавлю их поддержку в новые версии KLayers, так что вам не придется переписывать свой код, скорее всего достаточно будет скачать новую версию KLayers.

KLayers - бесплатная?

Да. KLayers распространяется согласно GNU Lesser General Public License, что позволяет вам использовать ее в коммерческих и некоммерческих проектах, а также модифицировать.

Описание функций и методов KLayers

Флаги и переменные

Версия браузера

Следущие переменные содержат true, когда браузер

Начало отсчета экранных координат

Вы можете изменять переменные pageLeft и pageTop для смещения начала отсчета координат слоев. По умолчанию никакого смещения нет, в обеих переменных содержится 0.

Функции

Окно и документ

Пример - проскроллить окно до самого низа минус 100 пикселей:
S=getDocumentHeight()-getWindowHeight()-100
if(S>=0) self.scrollTo(S)

Служебные

Дополнительные

Классы

Класс KLayer

Класс KLayer предназначен для инкапсуляции данных и логики для работы со свойствами слоя. Будем по историческим причинам здесь и далее именовать DHTML-объект слоем.

Имеет конструктор KLayer(), но для создания экземпляра класса лучше вызывать функцию-фабрику layer(). То есть если у нас имеется слой с именем mylayer, то для создания интерфейса к нему необходимо будет вызвать функцию layer("mylayer").

Имеется также написанная для лучшей совместимости с Netscape 4 функция layerFrom(имя слоя, адрес родительского слоя в DOM Netscape 4), предназначенная для ускоренного поиска нужного слоя в имеющейся в Netscape 4 иерархии вложенных слоев. К примеру - в слое xxx у нас есть слой yyy, а в нем, в свою очередь, есть слой zzz, тогда вызов слоя zzz будет выглядеть как

layerFrom("zzz", "document.layers.xxx.document.layers.yyy")
Если браузер - не Netscape 4, второй аргумент просто игнорируется. Просто же функция layer() ходит по всему дереву слоев, пока не найдет нужный, что иногда может занимать значительное время. Но надо отметить, что это имеет значение только тогда, когда имеются вложенные друг в друга слои.

В классе KLayer определены следующие поля и методы:

Пример - переместить в точку с координатами 100, 200 и показать изначально невидимый слой:
<div id="mylayer" style="position: absolute; visibility: hidden; left:0px; top: 0px">LAYER</div>
<script>
var L=layer("mylayer")
L.moveTo(100,200)
L.show()
</script>

Класс KImage

Класс KImage предназначен для работы с изображениями. Он создан только для совместимости с Netscape 4, помещающего картинки из слоев (как и сами слои) в иерархическую структуру.

Есть конструктор KImage(), но для создания экземпляра класса рекомендуется вызывать функцию-фабрику image(). То есть если у нас имеется картинка с именем myimage, то для создания интерфейса к ней необходимо будет вызвать функцию image("myimage"), imageFrom("myimage", "адрес родительского слоя в DOM Netscape 4").

Примеры