ROBOWEB : Документация : Документация по JavaScript , описание JavaScript , исходники , исходные тексты , source , make JavaScript , примеры JavaScript , программа JavaScript , объекты JavaScript , события JavaScript , примеры скриптов JavaScript , программирование на JavaScript взлом защита скачать бесплатно новые свежие архив секреты недокументированные способы русский перевод компьютер zip каталог add url forum форум чат chat программист программер хакер xakep hack баги компилить сорцы научиться урок обучение домашняя страница home page разработка создание применение примеры способы портал документ знания
Разработка сайтов, web дизайн - Центр Русского Дизайна HOD.RU
FLASH
3D Studio MAX
DreamWeawer FAQ
Изучение HTML
META тэги
CSS
Руководство по стилям
Спецификация WML (WAP)
Язык DHTML
Спецификация XML
Руководство по Java
Документация по JavaScript
Язык HOD Text Processor
Интерфейс CGI
Документация по Perl 5
Perl FAQ
Документация по PHP
PHP/FI 2.0
Документация по SQL
Базы данных
Доступ к БД

Рейтинг@Mail.ru Rambler's Top100

Веб дизайнеру
Каталог сайтов Axes.ru


Документация по JavaScript

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

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

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

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

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

	<HTML>
	<HEAD>
	<TITLE>HTTPD\HTDOCS\JAVASCR\EXAMPLE1</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. Ниже приведен пример реализации такой компоновки и пример кода самой страницы.

Пример 2.22. Выбор картинки из списка

	<!-- элементы заголовка -->
	...
	<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, и по нему определяют, какой именно элемент был отобран.

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

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

Пример 2.23. Листание и прокрутка картинок

	<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 - в нижней строке таблицы, т.к. наша картинка имеет формат ландшафта.

Пример 2.24. Динамический 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>

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





Содержание