Web - кодинг: JavaScript:
Самоучитель по JavaScript Урок 27. Как сложить все вместе: слайд-шоу
Автор: и Эндри Грауни Перевод © Татьяна
красным цветом даны
примечания переводчика
Концепция Скрипт Эффект Разбор скрипта Задание
Три последних урока
посвящены тому, как сложить все вместе.
Посмотрите на скрипт и
попробуйте сами разобраться, как и что он делает.
А лучше всего постарайтесь изменить его. В
сегодняшнем примере пользователь щелкает по
ссылке и переходит к следующей картинке. Мы
воспользуемся командой If и переменной num.
Ничего нового? Не совсем!
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
var num=1
img1 = new Image ()
img1.src = "leo.gif"
img2 = new Image ()
img2.src = "dino.gif"
img3 = new Image ()
img3.src = "rhino.gif"
function slideshow()
{
num=num+1
if (num==4)
{num=1}
document.animal.src=eval("img"+num+".src")
}
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<IMG SRC="leo.gif" NAME="animal" BORDER=0>
<p>
<A HREF="JavaScript:slideshow()">
Щелкните, чтобы увидеть следующую
картинку</A>
</CENTER>
</BODY>
</HTML>
|
Разбор
скрипта
Разобьем его на две части:
<SCRIPT LANGUAGE="javascript">
var num=1
img1 = new Image ()
img1.src = "leo.gif"
img2 = new Image ()
img2.src = "dino.gif"
img3 = new Image ()
img3.src = "rhino.gif"
- Вот кое-что новое! num=1 не находится внутри функции. Да и вообще ни одна
команда не находится внутри функции. num — это
переменная. Указывая ее в начале скрипта вне
функции, мы делаем ее глобальной переменной, то
есть доступной для любой функции.
- img1 = new Image() объявляет
новый объект image (рисунок). img1.src=
источник объекта, файл, в котором хранится
картинка. Это стандартная схема. img1 хранится
в leo.gif ; img2 хранится в dino.gif.
- (В скобках) содержится информация о ширине и высоте рисунка. Это не
обязательно, но желательно.
- Рисунки тоже доступны для любой функции. Таким образом, программа загружает
рисунки в память компьютера. Для следующего
примера это будет еще важнее. Пользователь не
хочет ждать, пока каждая картинка будет
загружаться с сервера.
Теперь часть №2:
function slideshow()
{
num=num+1
if (num==4)
{num=1}
document.animal.src=eval("img"+num+".src")
}
</script>
</head>
<body>
- Первоначальное значение num
равно 1. Это было еще в первом фрагменте. Когда
пользователь щелкает по строчке текста,
запускается функция slideshow.
- slideshow() прибавляет к num
единицу. Когда num доходит до 4, то возвращается к 1. document.animal.src
меняется на img плюс значение num и плюс .src.
Например, если num = 1, то document.animal.src становится img1.src.
- Обратите внимание, что команда eval() преобразует img1.src в
указание на источник изображения. Без нее это был бы простой набор букв.
И наконец:
<a href="JavaScript:slideshow()">Щелкните,
чтобы увидеть следующую картинку</a>
- Тут кое-что новенькое. Видите, вызывается не функция, а JavaScript? Так используются
все части скрипта, а не только те, что стоят
внутри функции. Если вы напишете функцию по
обычной схеме, то у вас не будет рисунков, потому
что они останутся за скобками.
В Эксплорере работает и обычная схема, то есть: <a href=""
onClick="slideshow()">Щелкайте</a>
Перепишите сегодняшний
скрипт. Покажите первым leo.gif, как в примере.
Однако дальше новый cкрипт должен показать img3.src
(num=3), потом img2.src, потом img1.src. Когда num=0,
измените num на 3.
В общем, перепишите скрипт
задом наперед.
|
Вперед, на Урок 28
Авторы и Эндри
Грауни. ©
Перевод © Татьяна.
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|