Мы создаем слой с именем
С помощью
Если Вы посмотрите исходный код этой части в онлайновом описании, то увидите, что в действительности мой код выглядит несколько иначе — я добавил некий фрагмент кода с тем, чтобы люди, работающие со старыми версиями JavaScript-браузеров, не получали из-за этого никаких сообщений об ошибках. Как этого можно достичь? Следующий фрагмент кода будет выполняться только на тех браузерах, которые воспринимают язык JavaScript 1.2:
<script language='JavaScript1.2'>
<!- hide
document.write('Вы используете браузер, совместимый с JavaScript 1.2.');
// — >
</script>
Та же самая проблема возникает, когда мы работаем с объектом Image. Мы можем аналогичным способом переписать кодекс. Установка переменной
Следующий пример демонстрирует, как может осуществляться перекрывание слоев:
Часть 10: Слои II
Мы уже обсудили основные понятия новой технологии слоев. В этой же части будут рассмотрены следующие темы:
· Вырезка из слоя
· Вложенные слои
· Различные эффекты с прозрачными слоями
Вырезка из слоя
Можно постулировать, что какая-то (прямоугольная) часть слоя будет нам видима. Все же, что лежит за ее пределами, показано на экране не будет. Такой прием называется вырезанием. Например, в разметке HTML можно задать следующую функцию
<ilayer left=0 top=0 clip='20,50,110,120'>
<img src='davinci.jpg' width=209 height=264>
</ilayer>
(Здесь я приписал параметры
Хотя само изображение и имеет размеры 209x264 пикселов, мы можем видеть лишь его малую часть:
Данный фрагмент изображения имеет размер 90x70 (пикселов). Первые два значения, указанные в атрибуте
Еще более интересных результатов можно добиться, управляя вырезанной частью с помощью языка JavaScript. Точнее, Вы можете изменять значения свойств
Код соответсвующего скрипта:
<html>
<head>
<script language='JavaScript'>
<!- hide
var middleX, middleY, pos;
function start() {
// получить размер изображения
var width= document.layers['imgLayer'].document.davinci.width;
var height= document.layers['imgLayer'].document.davinci.height;
// определить, какой пиксел находится в центре изображения
middleX= Math.round(width/2);
middleY= Math.round(height/2);
// начальная позиция
pos= 0;
// запуск!
show();
}
function show() {
// увеличить размер вырезаемой области
pos+= 2; // step size
document.layers['imgLayer'].clip.left= middleX- pos;
document.layers['imgLayer'].clip.top= middleY- pos;
document.layers['imgLayer'].clip.right= middleX+ pos;
document.layers['imgLayer'].clip.bottom= middleY+ pos;
// проверить, не высвечено ли все изображение
if (!((pos > middleX) && (pos > middleY)))
setTimeout('show()', 20);
}
// — >
</script>
</head>
<body>
<ilayer name='imgLayer' clip='0,0,0,0'>