Нам необходимо начать прокручивание слоя, как только страница будет загружена


Методические рекомендации к выполнению задания 2



Pdf көрінісі
бет3/4
Дата03.12.2022
өлшемі231.94 Kb.
#466382
1   2   3   4
Лабораторные по JS 10-11 Слои

 
Методические рекомендации к выполнению задания 2 
Создайте документ со следующим кодом скрипта:
 
 


 
var middleX, middleY, pos; 
functionstart() { 
// получитьразмеризображени\я 
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); } 
// --> 
 
 
 
 
 
 
 
 
 
, вызывает функцию start()
Сначала мы должны определить точку, с которой нам следует начать работу - 
фактически это будет некий пиксел в центре нашего изображения. Значения 
координат x и y этого пиксела мы помещаем в переменные middleX и middleY
После этого мы вызываем функцию show(), которая задает размеры вырезаемой 
части изображения в зависимости от значений переменных middleXmiddleY и 
параметра pos. При этом значение переменной pos автоматически 
увеличивается при каждом вызове функции show(). То есть размер вырезаемой 
части изображения с каждым разом становится все больше и больше. В самом 


конце процедуры show() мы устанавливаем таймер с помощью вызова 
setTimeout() - и благодаря этому функция show() вызывается вновь и вновь. И 
этот процесс остановится только тогда, когда изображение будет показано 
целиком.
Заметим, что размер изображения мы получаем в самом начале функции 
start():
var width= document.layers["imgLayer"].document.davinci.width; 
var height= document.layers["imgLayer"].document.davinci.height; 
С помощью конструкции document.layers["imgLayer"] мы можем 
обратиться к слою с именем imgLayer. Однако почему после 
document.layers["imgLayer"] мы ставим document? Дело в том, что каждый слой 
имеет свою собственную HTML-страницу - то есть, каждый слой имеет свой 
объект document. Чтобы получить доступ к изображению внутри слоя 
imgLayer, нам необходимо получить доступ к этому объекту document. В 
приведенном выше примере такое изображение носило название davinci. Все 
остальное поле листа должно быть чистым.


Достарыңызбен бөлісу:
1   2   3   4




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет