ComputerBooks.ru - Электронные книги, самоучители.

 
Электронные кники доступные для скачивания
На главную Добавить в избранное Форма отправки почты Если книг читать не будешь - скоро грамоту забудешь!

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>

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

Назад | Содержание



Электронные Книги по компьютерным программам
На правах рекламы:

Для добавления страницы "" в избранное нажмине Ctrl+D

Книги | Статьи | Скачать

Правовая информация   

  © ComputerBooks.ru,
  При копировании материалов со страницы обязательно разместите ссылку на источник.