JavaScript. Подробное руководство, 6-е издание, стр. 347
<b> onmouseover="this.src='images/help_rollover.gif</b><b> onmouseout="this.src='images/help.gif "*></b>21.1.1. Ненавязчивая реализация смены изображений
Только что продемонстрированный фрагмент содержит один элемент
<b><script></b><b>data-rollover</b><b><img>.</b><b>onLoad()</b><b>document.images[]</b><b><img></b>Пример 21.1. Ненавязчивая реализация эффекта смены изображений
<b>/**</b><b>* rollover.js: Ненавязчивая реализация эффекта смены изображений.</b><b>*</b><b>* Для создания эффекта смены изображений подключите этот модуль к своему HTML-файлу</b><b>* и используйте атрибут data-rollover в элементах <img>, чтобы определить URL-адрес</b><b>* сменного изображения. Например:</b><b>*</b><b>* <img src="normal_image.png" data-rollover="rollover_image.png"></b><b>*</b><b>* Обратите внимание, что для работы этого модуля необходимо подключить onLoad.js </b><b>*/</b><b>onLoad(function() { // Все в одной анонимной функции: не определяет имен </b><b> // Цикл по всем изображениям, отыскивает атрибут data-rollover</b><b> for(var і = 0; і < document.images.length; i++) { </b><b> var img = document.images[i];</b><b> var rollover = img.getAttribute("data-rollover");</b><b> if (!rollover) continue; // Пропустить изображения без data-rollover</b><b> // Обеспечить загрузку сменного изображения в кэш </b><b> (new Image()).src = rollover;</b><b> // Определить атрибут для сохранения URL-адреса</b><b> // изображения по умолчанию</b><b> img.setAttribute("data-rollout", img.src);</b><b> // Зарегистрировать обработчики событий,</b><b> // создающие эффект смены изображений </b><b> img.onmouseover = function() {</b><b> this.src = this.getAttribute("data-rollover");</b><b> };</b><b> img.onmouseout = function() {</b><b> this.src = this.getAttribute("data-rollout");</b><b> };</b><b> }</b><b>});</b>21.2. Работа с аудио- и видеопотоками
Стандарт HTML5 определяет новые элементы
<b><audio></b><b><video>,</b><b><img></b><b><audio src="background_music.mp3"/></b><b><video src="news.mov" width=320 height=240/></b>Однако на практике работать с этими элементами несколько сложнее, чем было показано выше. Производители броузеров не смогли прийти к соглашению о стандарте на аудио- и видеокодеки, которые поддерживались бы всеми броузерами, вследствие чего обычно приходится использовать элементы
<b><source>,</b><b><audio id="music"></b><b> <source src="music.mp3" type="audio/mpeg"></b><b> <source src="music.ogg" type='audio/ogg; codec="vorbis"></b><b></audio></b>Обратите внимание, что элементы
<b><source></b><b>/></b>Броузеры, поддерживающие элементы
<b><audio></b><b><video>,</b><b><object>,</b>