| После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть? | 
Изменение изображения с помощью функции
Концепция
Вот еще один пример использования onMouseOver и onMouseOut. На этот раз вместо включения оператора JavaScript для смены картинки в тег <A HREF> обработчики событий onMouseOver и onMouseOut вызывают функцию.
В общем, когда нужна только одна команда JavaScript, можно включить ее в тег HTML <A HREF>. Для нескольких операторов JavaScript больше подходит функция. В реальном мире на странице часто требуется многократное изменение изображения с помощью JavaScript.
Сценарий
<HTML>
<HEAD>
  <title> Пример JavaScript </title>
<SCRIPT type="text/javascript">
function up() 
{ 
    document.mypic.src="up.gif"  
}
function down()
{ 
    document.mypic.src="down.gif"  
}
</SCRIPT>
</HEAD>
  <BODY>
    <CENTER>
    <h2>Пример анимации</h2>
<A HREF="http://www.intuit.ru"
  onMouseOver="up()"  onMouseOut="down()">
<IMG SRC="down.gif" NAME="mypic" BORDER=0></A>   
  </BODY>
</HTML>Результат работы сценария
Пример анимации с помощью OnMouseOver и OnMouseOut.
Если быстро двигать курсором мыши на изображении, то возникает ощущение ожившего изображения — анимации.
Разбор сценария
Не забывайте про регистр символов при записи OnMouseOver и OnMouseOut.
Обратите внимание, что в сценарии созданы две функции.
<SCRIPT type="text/javascript">
function up() 
{ 
document.mypic.src="up.gif" 
}
function down() 
{ 
document.mypic.src="down.gif" 
}Функции выполняют то же, что и команды в прошлом уроке. Помните иерархию объектов? Сначала документ, потом имя, присвоенное объекту, и наконец SRC. Функции названы up() и down().
Теперь посмотрим на вызов функции:
<A HREF="http://www.intuit.ru" onMouseOver="up()" onMouseOut="down()"> <IMG SRC="down.gif" NAME="mypic" BORDER=0></A>
Формат почти такой же, как и использованный в Уроке 15, но здесь вместо включения оператора в команду HREF вызывается функция.
Этот пример по-прежнему имеет один оператор JavaScript. Вспомните, что обычно функции используются для объединения нескольких операторов. Мы хотели просто сделать пример коротким.
Если вы решите использовать многократную смену картинок с помощью JavaScript, помните, что для каждого случая нужно создавать имя новой функции и соединять определенные изображения с этими функциями, изменяя также атрибут NAME. Например: вы хотите поместить на страницу еще одну такую же меняющуюся картинку. Для этого создаем две новые функции, копируя предыдущие две функции и добавляя к именам цифру 2 (обратите на это внимание в коде ниже). Затем необходимо изменить в каждом случае атрибут NAME (снова обратите внимание на код ниже), поэтому изменяем имя на mypic2. Не забудьте изменять его везде, где оно появляется. Получаем примерно следующее в разделе заголовка HEAD:
<SCRIPT LANGUAGE="JavaScript">
function up()
{
   document.mypic.src="up.gif"
}
function down() 
{ 
   document.mypic.src="down.gif"  
}
function up2()   
{ 
   document.mypic2.src="up.gif"  
}
function down2() 
{ 
   document.mypic2.src="down.gif"  
}
</SCRIPT>... и примерно следующее для вызова двух различных изображений:
<A HREF="http://www.intuit.ru"
	onMouseOver="up()" 
	onMouseOut="down()">
    <IMG SRC="down.gif" NAME="mypic" 
BORDER=0></A><a href="http://www.intuit.ru"
	onMouseOver="up2()" 
	onMouseOut="down2()">
    <IMG SRC="down.gif" NAME="mypic2" 
BORDER=0></A>Видите, как новые функции связаны с новыми именами? Делайте это каждый раз при добавлении новой меняющейся картинки. Если требуется три случая, то добавьте цифру 3 везде, где выше добавлена 2. Если четыре, добавьте 4, и т.д.
Задание
Переделайте последнее задание, использующее Bubble1.gif и Bubble2.gif. Создайте две функции для смены этих изображений.
Возможное решение
<html>
 <head>
 <SCRIPT type="text/javascript">
    function swap1for2()
      {  document.pic1.src="bubble2.gif" }
    function swap2for1()
      { document.pic1.src="bubble1.gif" }
 </SCRIPT>
 </head>
 <body bgcolor="white">
 <center>
 <h1> Иван Иванович</h1>
 <a href="" onMouseOver="swap1for2() "
    onMouseOut="swap2for1()">
 <img src="bubble1.gif" border=0 name="pic1"> </a>
 </center>
 </body>
 </html> 
                             


