JavaScript для мага


Перемещение слоев


Свойства left и top определяют задают положение данного слоя. Вы можете менять его, записывая в эти атрибуты новые значения. Например, в следующей строке задается горизонтальное положение слоя в 200 пикселов:

 

document.layers["myLayer2"].left= 200;

 

Перейдем теперь к программе перемещения слоев - она создает нечто вроде линейки  прокрутки внутри окна браузера.

 

(online-версия руководства позволит Вам проверить этот скрипт немедленно)

 

Сам скрипт выглядит следующим образом:

 

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

 

Мы создаем слой с именем myLayer2. Можно видеть, что в тэге <body> мы пользуемся процедурой onLoad. Нам необходимо начать прокручивание слоя, как только страница будет загружена. В процедуре обработки события onLoad мы пользуемся функцией setInterval(). Это один из новых методов версии 1.2  языка JavaScript (то есть версии JavaScript, реализованной в Netscape Navigator 4.0). Им можно пользоваться, чтобы вызывать некую функцию мвновь и вновь через определенные интервалы времени. В прошлом для этого мы пользовались функцией setTimeout(). Функция setInterval() работает почти так же, однако Вам нужно вызвать ее всего лишь один раз.

 

С помощью setInterval() мы вызываем функцию move() каждые 20 миллисекунд. А функция move(), в свою очередь, всякий раз смещает слой на новую позицию. И поскольку мы вызываем эту функцию вновь и вновь, то мы получаем быстрый скроллинг нашего текста. Все, что мы нужно сделать в функции move() - это вычислить новую координату для слоя и записать ее: document.layers["myLayer2"].left= pos.




Начало  Назад  Вперед



Книжный магазин