Гипертекстовые ссылки и картинки

Гипертекстовые ссылки и картинки - это свойства объекта "документ", который в свою очередь является частью объекта "окно". И гипертекстовые ссылки, и картинки составляют встроенные массивы, к которым можно обращаться по индексу. Рассмотрим несколько примеров программирования массивов гипертекстовых ссылок и картинок.

Просмотр фотографий образцов через список гипертекстовых ссылок

Вся страница размечается как таблица, состоящая из одной строки в две ячейки. В первой ячейке размещается список выбора альтернатив, во второй ячейке размещаются картинки, выбранные при помощи списка альтернатив. Все элементы списка помечены как гипертекстовые ссылки. У каждой ссылки определено событие onSelect. Для того, чтобы не происходил переход к другой странице, а выполнялась только обработка события, в поле href необходимо определить вызов JavaScript. Ниже приведен пример реализации такой компоновки и пример кода самой страницы.

Изменение картинки через гипертекстовую ссылку
 

<HTML>
<HEAD>
<TITLE>HTTPDHTDOCSJAVASCREXAMPLE1</TITLE>
<SCRIPT>

<!-- Защитили текст скрипта от старых браузеров
function l_image(a)
{
document.images[1].src=a
}
// -->
</SCRIPT>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFCC"
LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">

<H1>
<FONT COLOR="#000099">Просмотр фотографий
образцов</FONT>
</H1>
<center>
<TABLE COLS=2 WIDTH="100%" >
<CAPTION>
<FONT COLOR="#000099" SIZE=+2>

Образцы бытовой техники</FONT>
</CAPTION>
<TR>
<TD>
<UL>
<LI><A HREF="javascript:l_image('freeze.gif')"
>Холодильник</A> </LI>

<LI><A HREF="javascript:l_image('dust.gif')"
>Пылесосы</LI>
<LI><A HREF="javascript:l_image('toster.gif')"
>Тостер</LI>
<LI><A HREF="javascript:l_image('cook.gif')"
>Варочный стол</LI>
<LI><A HREF="javascript:l_image('oven.gif')"

>Духовка</LI>
<LI><A HREF="javascript:l_image('wash.gif')"
>Стиральная машина</LI>
<LI><A HREF="javascript:l_image('dishwash.gif')"
>Посудомоечная машина</LI>
</UL>
</TD>

<TD ALIGN=CENTER VALIGN=CENTER><
IMG SRC="dust.gif" NAME="tool" > </TD>
</TR>
</TABLE>
</center>
</BODY>
</HTML>



В данном примере при выборе гипертекстовой ссылки происходит вызов функции l_image(), которая изменяет значение атрибута SRC в контейнере IMG. Таким образом, можно организовать просмотр различных товаров в одном единственном графическом окне.

Изменение картинки путем выбора предмета из списка.

Вся страница размечается как таблица, состоящая из одного столбца в две ячейки. В первой ячейке размещается выпадающее меню выбора альтернатив, во второй ячейке размещаются картинки, выбранные при помощи списка альтернатив. При выборе альтернативы из меню происходит событие onChange, которое вызывает функцию l_image. Ниже приведен пример реализации такой компоновки и пример кода самой страницы.

Выбор картинки из списка
 

<!-- элементы заголовка -->
...
<SCRIPT>
<!-- Защитили текст скрипта от старых браузеров
pictures = new Array()
for(i=0;i<8;i++)

{
pictures[i] = new Image()
if(i==0) pictures[i].src = "freeze.gif"
if(i==1) pictures[i].src = "dust.gif"
if(i==2) pictures[i].src = "toster.gif"
if(i==3) pictures[i].src = "cook.gif"
if(i==4) pictures[i].src = "oven.gif"
if(i==5) pictures[i].src = "wash.gif"
if(i==6) pictures[i].src = "dishwash.gif"

}
function l_image()
{
document.images[1].src = pictures
[document.form1.item.selectedIndex].src
}
// -->
</SCRIPT>

[ На начало страницы ]


Фрагмент HTML-разметки с вызовом функции
изменения картинки:

<center>
<TABLE COLS=2 WIDTH="100%" >
<CAPTION>
<FONT COLOR="#000099" SIZE=+2>
Образцы бытовой техники</FONT>

</CAPTION>
<TR>
<th>
<form name=form1>
<select name=item onChange=l_image()>
<option>Холодильник

<option selected>Пылесос
<option>Тостер
<option>Варочный стол
<option>Духовка
<option>Cтиральная машина
<option>Посудомоечная машина

</select>
</form>
</th>
</tr>
<tr>
<th ALIGN=CENTER VALIGN=CENTER><

IMG SRC="dust.gif" NAME="tool" > </th>
</TR>
</TABLE>
[ <a href=#top>На начало страницы</a> ]
<HR>

</center>



В данном примере картинка выбирается как элемент списка. При этом происходит событие onChange, и по нему определяют, какой именно элемент был отобран.

Листание картинок и их автоматический просмотр

Вся страница размечается как таблица, состоящая из одного столбца в две ячейки. В первой ячейке размещаются три кнопки управления просмотром картинок "Вперед", "Старт/Стоп", "Назад". Во второй ячейке размещаются картинки, выбранные путем листания. Листание осуществляется кнопками "Вперед" и "Назад". Возможен и другой вариант выбора картинки, когда система сама через некоторый промежуток времени периодически меняет картинки. Для этого следует сначала запустить автоматическую смену картинок, нажав на кнопку "Старт/Стоп", а потом, когда будет показана нужная картинка, остановить автоматическое листание, снова нажав на кнопку "Старт/Стоп". Ниже приведен пример реализации такой компоновки и пример кода самой страницы.

Листание и прокрутка картинок
 

<SCRIPT>
<!-- Защитили текст скрипта от старых браузеров
pictures = new Array()
for(i=0;i<8;i++)

{
pictures[i] = new Image()
if(i==0) pictures[i].src = "freeze.gif"
if(i==1) pictures[i].src = "dust.gif"
if(i==2) pictures[i].src = "toster.gif"
if(i==3) pictures[i].src = "cook.gif"
if(i==4) pictures[i].src = "oven.gif"
if(i==5) pictures[i].src = "wash.gif"
if(i==6) pictures[i].src = "dishwash.gif"

}
n=0;
flag=0;
function next_image()
{
if(flag==0)
{
n++;if(n>6) n=0;
document.images[1].src = pictures[n].src
}

}
function back_image()
{
if(flag==0)
{
n--;if(n<0) n=6;
document.images[1].src = pictures[n].src
}
}

function scroll_image()
{
if(flag==1)
{
n++;if(n>6) n=0;
document.images[1].src = pictures[n].src
}
setTimeout("scroll_image()",1500);
}

function start_stop()
{
if(flag==0)
{
flag=1
}
else
{
flag=0

}
}
// -->
</SCRIPT>
[ На начало страницы ]

<TABLE COLS=2 WIDTH="100%" >
<CAPTION>
<FONT COLOR="#000099" SIZE=+2>

Образцы бытовой техники</FONT>
</CAPTION>
<TR>
<th>
<form name=form1>
<input name=f type=button

value=Вперед onClick=next_image()>
<input name=ss type=button value="Старт/Стоп"
onClick=start_stop()>
<input name=b type=button
value=Назад onClick=back_image()>
</form>
</th>

</tr>
<tr>
<th ALIGN=CENTER VALIGN=CENTER><
IMG SRC="dust.gif" NAME="tool" > </th>
</TR>

</TABLE>



В этом примере мы используем те же средства, что использовали и для организации скроллинга. Алгоритм останова и запуска прокрутки тот же, что и при скроллинге окна.

Пример использования client-site imagemap

В данном примере мы хотим показать возможность изменения картинки imagemap с одновременным изменением гипертекстовых ссылок, связанных с этой картинкой. Такая возможность существует только в том случае, если все картинки, которые мы хотим использовать в качестве imagemap, имеют одинаковую компоновку. Мы реализуем просмотр вариантов в виде горизонтального меню в верхней строке таблицы и imagemap - в нижней строке таблицы, т.к. наша картинка имеет формат ландшафта.

Динамический imagemap
 

<SCRIPT>
<!-- Защитили текст скрипта от старых браузеров
function print_form(a)
{

document.form1.kuku.value = a
}
function set_image(a)
{
if(a == "bosh")
{
document.form1.kuku.value=
"Техника фирмы Bosh."
document.links[5].href =

"javascript:print_form
('Refregarator: Bosh-10245
(-24C;Remote Control)')"
document.links[6].href =
"javascript:print_form
('Aero-Filter: Bosh-1212(
Steel Filter)')"
document.links[7].href =
"javascript:print_form

('Oven: Bosh-3432
(Варочный стол + духовка)')"
document.links[8].href =
"javascript:print_form
('Wash mashine:
Bosh-2343(Dry Mode)')"
document.links[9].href =
"javascript:print_form
('Dish wash machine: Bosh-DW-44')"

document.links[10].href =
"javascript:print_form
('Water pipe: Bosh
(Steel + Ceramic)')"
}
if(a == "Indesit")
{
document.form1.kuku.value=
"Техника фирмы Indesit."

document.links[5].href =
"javascript:print_form
('Indesit-105(-18C)')"
document.links[6].href =
"javascript:print_form
('Indesit-101(Steel Filter)')"
document.links[7].href =
"javascript:print_form
('Indesit-3432(Варочный стол + духовка)')"
document.links[8].href =
"javascript:print_form
('Indesit-343(Wash only)')"

document.links[9].href =
"javascript:print_form
('Indesit-DWR-Safe')"
document.links[10].href =
"javascript:print_form
('No in the frame')"
}
if(a == "candy")
{
document.form1.kuku.value=

"Техника фирмы Candy."
document.links[5].href =
"javascript:print_form
('Candy-122(-24C;Hidden model)')"
document.links[6].href =
"javascript:print_form
('Candy-12(Steel Filter + Carbone Filter)')"
document.links[7].href =
"javascript:print_form
('Candy(Варочный стол + духовка)')"
document.links[8].href =

"javascript:print_form
('Candy-343(Dry Mode)')"
document.links[9].href =
"javascript:print_form
('Candy-DWR Elite')"
document.links[10].href
= "javascript:print_form
('Candy(Ceramic)')"
}
document.images[1].src= a+".gif"
}

// -->
</SCRIPT>

[ На начало страницы ]

<MAP name=kitchen_map>
<area name=freeze shape=rect coords="14,11,88,171"
href="javascript:void(0)">
<area name=aero shape=rect coords="179,12,238,58"

href="javascript:void(0)">
<area name=oven shape=rect coords="179,95,237,172"
href="javascript:void(0)">
<area name=dry shape=rect coords="239,95,297,173"
href="javascript:void(0)">
<area name=wash shape=rect coords="297,96,370,173"
href="javascript:void(0)">

<area name=kran shape=rect coords="90,95,138,172"
href="javascript:void(0)">
</map>
<TABLE border=0>
<CAPTION>
<FONT COLOR="#000099" SIZE=+2>Образцы
бытовой техники</FONT>

</CAPTION>
<TR>
<TH>
<a href="javascript:set_image('bosh')"
>Bosh</a>
</th>
<th>

<a href="javascript:set_image('idezit')"
>Indesit</a>
</th>
<th>
<a href="javascript:set_image('candy')"
>Candy</a>
</th>

</TR>
<TR>
<th colspan=3><IMG SRC="Bosh.gif"
NAME="tool" USEMAP=#kitchen_map></th>
</TR>
<tr><th colspan=3><form

name=form1><input name=kuku size=40
value=Выбери набор техники.></form>
</th></tr>
</TABLE>



В данном примере меняются не только картинки, но и стеки гипертекстовых ссылок под ними. Для каждой новой картинки определяются свои собственные гипертекстовые ссылки.




Рекомендуем почитать

 

Добавить комментарий


Ваше имя:


Комментарий:


Введите: Картинка