|
|
Позиционирование элементов для IE и NN.В этом "опыте" рассмотрим как реализовать позиционирование объектов как для Internet Explorer, так и Netscape Navigtor (вариант для Internet Explorer мы уже рассматривали). Для того, чтобы было лучше понятно, рассмотрим различие в свойствах позиционирования объектов в этих браузерах. Горизонтальная координата объекта в пикселях: Средствами JavaScript, с применением уже рассмотренной библиотеки detect.js, процедуры установки и чтения этих свойств можно реализовать следующим образом:
function getX(el) {
if (NN) {
return(document.layers[el].left);
}
else {
return(document.all[el].style.pixelLeft);
}
}
Я надеюсь, что общая идея ясна? Для желающих разобраться в подробностях, предлагаю скачать последнюю версию библиотеки detect.js, которая, на сегодняшний день, содержит много новых функций, которые кроме определения типа браузера позволяют манипулировать различными свойствами позиционирования объектов и параметрами окна браузера (краткое описание внутри файла). Необходимо заметить, что эти методы в Netscape Navigator можно использовать только для позиционированных объектов, которые входят в коллекцию layers. Это <DIV> и <LAYER>. На основе этих методов я переписал библиотеку floaters.js, чтобы ее можно было использовать в обоих браузерах. Новую версию можно взять в файле d-floaters.zip. Для ее использования указываем обе библиотеки в заголовке страницы: <SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript" SRC="detect.js"> </SCRIPT> <SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript" SRC="d-floaters.js"> </SCRIPT> В тэге <BODY> задаем обработчик события onLoad, содержащий код следующий код:
function init() {
initDetect();
startFloaters();
}
Создаем процедуру запуска движения startFloaters()
function startFloaters() {
fl1 = new floater("fl1",1,2,true);
flStart(fl1);
}
var fl1;
Описание параметров конструктора floater можно найти в прошлом опыте. Сам движущийся объект теперь необходимо задавать по-другому. В данном случае - так: <DIV ID="fl1" NAME="fl1" STYLE="position: absolute; top: 0; left: 0; z-index: 100"> <IMG SRC="images/0032_01.gif" WIDTH=50 HEIGHT=21 BORDER=0 ALT="floater"> </DIV> И на последок небольшой пример интересного применения методов позиционирования: moveit.html |