Вы можете определить, какая из прямоугольных частей слоя будет видима. Все остальное, снаружи этой области, не будет показываться. Это называется, отсечением. Вы можете использовать HTML-свойство clip следующим образом:
<ilayer left=0 top=0 clip="20,50,110,120"> <img src="davinci.jpg" width=209 height=264> </ilayer>(Я добавил left=0 and top=0 поскольку моя версия Netscape (PR3 на WinNT) видимо имеет некоторые проблемы, если эти значения отсутствуют)
Хотя изображение размером 209x264 пикселей, Вы можете видеть только маленькую часть:
Эта часть размером 90x70 (в пикселях). Первые два значения, определенные через свойство clip (в HTML-теге <layer> или <ilayer>) определяют верхний левый угол блока отсечения. Следующие два значения определяют нижний правый угол. Следующее изображение иллюстрирует это:
Более интересные вещи могут быть достигнуты через установку области отсечения через JavaScript. Для этого Вы можете изменить свойства clip.left, clip.top, clip.right and clip.bottom Layer-объекта. Всего лишь присвойте новое значение пикселя одному из этих свойств, и область отсечения изменится. Следующий пример изменяет область отсечения динамически. У пользователя создается впечатление, что изображение медленно создается :
Вот этот код:
<html> <head> <script language="JavaScript"> <!-- hide var middleX, middleY, pos;Кнопка в <body>-части вызывает функцию start(). Сначала мы должны вычислить позицию запуска - это пиксель в середине изображения. Мы сохраняем значения x и y этого пикселя в переменныхmiddleX b middleY. Затем вызывается функция show() Эта функция устанавливает область отсечения в зависимости от переменных middleX, middleY b pos. Переменная pos увеличивается каждый раз, когда вызывается функция show() Это означает, что область отсечения становится каждый раз больше. После выполнения show() мы устанавливаем время ожидания(таймаут) с помощью setTimeout() - так функции show() вызывается снова и снова. Этот процесс остановится, как только изображение появится целиком.
Пожалуйста обратите внимание, как мы получаем размер изображение в функции start():
Через document.layers["imgLayer"] мы можем обратиться к слою, названному imgLayer. Но почему мы используем document после document.layers["imgLayer"]? Каждый слой содержит собственную HTML-страницу - это означает, что каждый слой имеет document -объект. Чтобы обращаться к изображению внутри слоя imgLayer мы должны обратиться к этому document-объекту. Вы можете видеть в коде, что изображение названо davinci. Остальное должно быть понятно.