|
|
Книги-onlineImage Оглавление | Назад | Вперёд | Индекс ImageСозданиеКонструктор Image или тэг IMG. Машина выполнения JavaScript создаёт объект Image для каждого тэга IMG в документе. Она помещает эти объекты в массив в свойстве document.images. Вы получаете доступ к объекту Image по индексу в этом массиве. Для определения тэга IMG используйте стандартный синтаксис HTML с добавлением обработчиков событий JavaScript. При специфицировании атрибута NAME можно использовать это имя при индексации массива images. Для определения изображения с помощью конструктора используйте такой синтаксис: new Image([width,] [height]) Параметры
Обработчики событийДля определения обработчика события для объекта Image, созданного конструктором Image, установите соответствующее свойство объекта. Например, если у Вас имеется объект Image по имени imageName и Вы хотите установить в один из его обработчиков событий функцию handlerFunction, используйте один из следующих операторов: imageName.onabort = handlerFunction Объекты Image не имеют обработчиков onClick, onMouseOut и onMouseOver. Однако, если Вы определите для изображения объект Area или поместите тэг IMG внутри объекта Link, Вы сможете использовать обработчики событий для объектов Area или Link. См. Link. ОписаниеПозиция и размер изображения в документе устанавливаются при отображении документа web-браузером и не могут быть изменены с помощью JavaScript (свойства width и height являются для данного объекта read-only). Вы можете изменить выводимое изображение, установив свойства src и lowsrc. (См. описание Image.src и Image.lowsrc.) Вы можете использовать JavaScript для создания анимации из объекта Image, выполняя повторяющуюся установку свойства src, как показано далее в Примере 4. Анимация JavaScript работает медленнее, чем GIF-анимация, поскольку GIF-анимация это один файл; при анимации JavaScript каждый фрэйм является отдельным файлом, и каждый файл обязан быть загружен из сети (установление связи с хостом, перенос данных...). В основном объект Image, создаваемый конструктором Image, предназначен для загрузки изображения по сети (и его декодирования) до того момента, когда оно понадобится для отображения. Затем, если Вам нужно вывести изображение в существующей ячейке изображения, Вы устанавливаете в свойство src выводимого изображения то значение, которое используется для полученного ранее изображения: myImage = new Image() Результирующее изображение будет получено из кэша, а не загружено по сети, что значительно сэкономит время, необходимое для загрузки и декодирования изображения. Можно использовать эту технику для создания сложных анимаций или выводить одно из нескольких изображений на основе ввода данных в форму. Свойства. Резюме.
Методы. Резюме.
Кроме того, этот объект наследует методы watch и unwatch из объекта Object. ПримерыПример 1: Создание изображения тэгом IMG. Следующий код определяет изображение тэгом IMG: <IMG NAME="aircraft" src="books/javascript/javascript_13/f15e.gif" ALIGN="left" VSPACE="10"> Следующий код обращается к изображению: document.aircraft.src='f15e.gif' Если Вы обращаетесь к изображению по имени, Вы обязаны включать имя формы, если изображение расположено на форме. Следующий код обращается к изображению на форме: document.myForm.aircraft.src='f15e.gif' Пример 2: Создание изображения конструктором Image. Здесь создаётся объект Image по имени myImage шириной 70 пикселов и высотой 50 пикселов. Если URL источника, seaotter.gif, не имеет размера 70x50 пикселов, он масштабируется до данного размера. myImage = new Image(70, 50) Если Вы опускаете аргументы width и height в конструкторе Image, myImage создаётся с размерами, указанными в исходном URL.. myImage = new Image() Пример 3: Вывод изображения на основе ввода данных в форму. Здесь пользователь выбирает, какое изображение вывести. Пользователь заказывает рубашку, заполняя форму. Изображение выводится в зависимости от указанных цвета и размера рубашки. Все возможные варианты загружаются заранее, чтобы сократить время на ответ. Если пользователь щёлкает кнопку для заказа рубашки, функция allShirts выводит изображения всех рубашек. <SCRIPT> doneThis = 0 // Предварительная загрузка изображений рубашек function changeShirt(form) newSrc = "shirt-" + shirtColor.charAt(0) + "-" + shirtSize.charAt(0) + ".gif" function allShirts() return </SCRIPT> <FONT SIZE=+2><B>Netscape Polo Shirts!</FONT></B> <TABLE CELLSPACING=20 BORDER=0> <TD> <P> <P><INPUT type="button" name="buy" value="Buy This Shirt!" </TD> Пример 4: Анимация JavaScript. В этом примере JavaScript используется для создания анимации в объекте Image путём повторяющегося изменения значения его свойства src. Скрипт начинается с предзагрузки 10 изображений, образующих эту анимацию (image1.gif, image2.gif, image3.gif и т.д.). Если объект Image размещён в документе тэгом IMG, image1.gif выводится, и обработчик onLoad начинает анимацию, вызывая функцию animate. Заметьте, что функция animate не вызывает сама себя после изменения свойства src объекта Image. Это происходит из-за того, что при изменении свойства src обработчик onLoad изображения включается и вызывается функция animate. <SCRIPT> // Предварительная загрузка изображений анимации function animate() { function slower() { function faster() { <BODY BGCOLOR="white"> <IMG NAME="animation" src="books/javascript/javascript_13/image1.gif" ALT="[Animation]" <FORM> См. также примеры для обработчиков onAbort, onError и onLoad. См. такжеLink, onClick, onMouseOut, onMouseOverborderСтрока, специфицирующая ширину рамки изображения в пикселах. ОписаниеСвойство border отражает атрибут BORDER тэга IMG. Для изображений, созданных конструктором Image, значение свойства border равно 0. ПримерЭта функция выводит значение свойства border изображения, если это значение не равно 0. function checkBorder(theImage) { См. такжеImage.height, Image.hspace, Image.vspace, Image.widthcompleteБулево значение, указывающее, завершил ли web-браузер попытку загрузки изображения. ПримерЗдесь выводится изображение и три радио-кнопки. Пользователь может щёлкать радио-кнопки для выбора изображения для вывода. Щелчок по другой кнопке позволяет пользователю увидеть текущее значение свойства complete. <B>Choose an image:</B> <BR><INPUT TYPE="button" VALUE="Is the image completely loaded?" См. такжеImage.lowsrc, Image.srchandleEventВызывает обработчик для специфицированного события. СинтаксисhandleEvent(event) Параметр
ОписаниеИнформацию об обработке событий см. в книге Клиентский JavaScript. Руководство.. heightСтрока, специфицирующая высоту изображения в пикселах. ОписаниеСвойство height отражает атрибут HEIGHT тэга IMG. Для изображений, созданных конструктором Image, значение свойства height является реальной, а не отображаемой, высотой изображения. ПримерСледующая функция выводит значения свойств height, width, hspace и vspace изображения. function showImageSize(theImage) { См. такжеImage.border, Image.hspace, Image.vspace, Image.widthhspaceСтрока, специфицирующая поле в пикселах между левым и правым краями изображения и окружающим текстом. ОписаниеСвойство hspace отражает атрибут HSPACE тэга IMG. Для изображений, созданных конструктором Image, значение свойства hspace равно 0. ПримерыСм. примеры для свойства height. См. такжеImage.border, Image.height, Image.vspace, Image.widthlowsrcСтрока, специфицирующая URL версии изображения с низким разрешением, выводимой в документе. ОписаниеСвойство lowsrc первоначально отражает атрибут LOWSRC тэга IMG. Браузер загружает меньшее изображение, специфицированное свойством lowsrc, а затем замещает его изображением большего размера, специфицированным в свойстве src. Вы можете изменить свойство lowsrc в любое время. ПримерыСм. примеры для свойства src. См. такжеImage.complete, Image.srcnameСтрока, специфицирующая имя объекта. БезопасностьJavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.. ОписаниеПредставляет значение атрибута NAME. Для изображений, созданных конструктором Image, значение свойства name равно null. ПримерыЗдесь функция valueGetter использует цикл for для итерации по массиву элементов, расположенных на форме valueTest. Окно msgWindow выводит имена всех элементов на форме: newWindow=window.open("http://home.netscape.com") function valueGetter() { В следующем примере первый оператор создаёт окно netscapeWin. Второй оператор выводит значение "netscapeHomePage" в диалоговом окне Alert, поскольку "netscapeHomePage" является значением аргумента windowName argument окна netscapeWin. netscapeWin=window.open("http://home.netscape.com","netscapeHomePage") srcСтрока, специфицирующая URL изображения, выводимого в документе. ОписаниеСвойство src первоначально отражает атрибут SRC тэга IMG. Установка свойства src начинает загрузку нового URL в область изображения (и прерывает передачу любых данных изображения, которые загружались в ту же самую область). Следовательно, если Вы планируете изменить свойство lowsrc, Вы должны сделать это до установки свойства src. Если URL в свойстве src ссылается на изображение, которое имеет размер, отличный от размера ячейки, в которую оно загружается, изображение-источник масштабируется. Если Вы изменяете свойство src выведенного изображения, новое изображение, которое Вы специфицируете, выводится в области, определённой для оригинального изображения. Например, объект Image первоначально выводит файл beluga.gif: <IMG NAME="myImage" src="books/javascript/javascript_13/beluga.gif" ALIGN="left"> Если Вы устанавливаете myImage.src='seaotter.gif', изображение seaotter.gif масштабируется для вмещения в то же пространство, которое первоначально было использовано для beluga.gif, даже если seaotter.gif не имеет те же размеры, что и beluga.gif. Вы можете изменить свойство src в любое время. ПримерЗдесь выводится изображение и три кнопки. Пользователь может щёлкать радио-кнопки для выбора выводимого изображения. Каждое изображение также использует свойство lowsrc для вывода изображения с низким разрешением. <SCRIPT> <FORM NAME="imageForm"> <BR> См. такжеImage.complete, Image.lowsrcvspaceСтрока, специфицирующая поле в пикселах между верхним и нижним краями изображения и окружающим текстом. ОписаниеСвойство vspace отражает атрибут VSPACE тэга IMG. Для изображений. созданных конструктором Image, значение свойства vspace равно 0. ПримерыСм. примеры для свойства height. См. такжеImage.border, Image.height, Image.hspace, Image.widthwidthСтрока, специфицирующая ширину изображения в пикселах. ОписаниеСвойство width отражает атрибут WIDTH тэга IMG. Для изображений, созданных конструктором Image, значение свойства width является реальной фактической, а не отображаемой, шириной изображения. ПримерыСм. примеры для свойства height. См. такжеImage.border, Image.height, Image.hspace, Image.vspace Оглавление | Назад | Вперёд | ИндексДата последнего обновления: 28 мая 1999 года. Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском . книги по программированию исходники компоненты шаблоны сайтов C++ PHP Delphi скачать |
|