Menu
Вертикальные и горизонтальные меню
Практически все, что изложено в разделах "Графика и таблицы" и "Графика и обработка событий" касается вопросов построения одноуровневых меню. Поэтому мы постараемся в данном разделе привести более или менее реальные примеры таких меню. Графическое меню привлекательно тем, что автор может всегда достаточно точно расположить его компоненты на экране. Это, в свою очередь, позволяет и другие элементы страницы достаточно точно располагать относительно элементов меню:
<table cellpadding=0 cellspacing=0 align=center>
<tr>
<td><img name=e0 src=../images/main/blank.gif width=20 height=10 border=0></td>
...
</tr>
<tr>
<td><a href="javascript:void(0);"
onMouseover="document.e0.src='../images/jsi/arrowdw.gif';return true;"
onMouseout="document.e0.src='../images/main/blank.gif';return true;"
><img src=../images/jsi/desk.gif border=0 border=0></a></td>
...
</tr>
</table>
onMouseover="document.e0.src='../images/jsi/arrowdw.gif';return true;"
onMouseout="document.e0.src='../images/main/blank.gif';return true;" > |
onMouseover="document.e1.src='../images/jsi/arrowdw.gif';return true;"
onMouseout="document.e1.src='../images/main/blank.gif';return true;" > |
onMouseover="document.e2.src='../images/jsi/arrowdw.gif';return true;"
onMouseout="document.e2.src='../images/main/blank.gif';return true;" > |
onMouseover="document.e3.src='../images/jsi/arrowdw.gif';return true;"
onMouseout="document.e3.src='../images/main/blank.gif';return true;" > |
onMouseover="document.e4.src='../images/jsi/arrowdw.gif';return true;"
onMouseout="document.e4.src='../images/main/blank.gif';return true;" > |
onMouseover="document.e5.src='../images/jsi/arrowdw.gif';return true;"
onMouseout="document.e5.src='../images/main/blank.gif';return true;" > |
onMouseover="document.e6.src='../images/jsi/arrowdw.gif';return true;"
onMouseout="document.e6.src='../images/main/blank.gif';return true;" > |
onMouseover="document.e7.src='../images/jsi/arrowdw.gif';return true;"
onMouseout="document.e7.src='../images/main/blank.gif';return true;" > |
onMouseover="document.e8.src='../images/jsi/arrowdw.gif';return true;"
onMouseout="document.e8.src='../images/main/blank.gif';return true;" > |
В данном случае стрелочка бежит точно над тем элементом, на который указывает мышь. По большому счету, гораздо более информативным является применение атрибута alt у IMG и его дублирование в строке статуса, чем добавление нового графического элемента. Правда, отображается содержание alt с некоторой задержкой:
onMouseover="window.status='Digest';return true;" onMouseout="window.status='Document:Done';return true;" > |
onMouseover="window.status='Contents';return true;" onMouseout="window.status='Document:Done';return true;" > |
onMouseover="window.status='Manual book';return true;" onMouseout="window.status='Document:Done';return true;" > |
onMouseover="window.status='Reference book';return true;" onMouseout="window.status='Document:Done';return true;" > |
onMouseover="window.status='Practice tasks';return true;" onMouseout="window.status='Document:Done';return true;" > |
onMouseover="window.status='Tests';return true;" onMouseout="window.status='Document:Done';return true;" > |
onMouseover="window.status='Consulting';return true;" onMouseout="window.status='Document:Done';return true;" > |
onMouseover="window.status='Time table';return true;" onMouseout="window.status='Document:Done';return true;" > |
onMouseover="window.status='Fellowship';return true;" onMouseout="window.status='Document:Done';return true;" > |
Посмотрим теперь на реализацию вертикального меню, построенного на основе графических блоков текста, как это принято в настоящее время:
<td><a href="javascript:void(0);"
onMouseover="document.evente.src='../images/jsi/corner.gif';"
onMouseout="document.evente.src='../images/jsi/clear.gif';"
><img src=../images/jsi/eventep.gif border=0></a></td>
<td><a href="javascript:void(0);
onMouseover="document.evente.src='../images/jsi/corner.gif';"
onMouseout="document.evente.src='../images/jsi/clear.gif';"
><img name=evente src=../images/main/blank.gif></a></td>
onMouseover="document.evente.src='../images/jsi/corner.gif';" onMouseout="document.evente.src='../images/jsi/clear.gif';" > |
onMouseover="document.evente.src='../images/jsi/corner.gif';" onMouseout="document.evente.src='../images/jsi/clear.gif';" > |
onMouseover="document.factse.src='../images/jsi/corner.gif';" onMouseout="document.factse.src='../images/jsi/clear.gif';" > |
onMouseover="document.factse.src='../images/jsi/corner.gif';" onMouseout="document.factse.src='../images/jsi/clear.gif';" > |
onMouseover="document.headse.src='../images/jsi/corner.gif';" onMouseout="document.headse.src='../images/jsi/clear.gif';" > |
onMouseover="document.headse.src='../images/jsi/corner.gif';" onMouseout="document.headse.src='../images/jsi/clear.gif';" > |
onMouseover="document.intrige.src='../images/jsi/corner.gif';" onMouseout="document.intrige.src='../images/jsi/clear.gif';" > |
onMouseover="document.intrige.src='../images/jsi/corner.gif';" onMouseout="document.intrige.src='../images/jsi/clear.gif';" > |
Картинки можно разместить и в одной ячейке таблицы, но тогда нужно задать ее ширину, иначе при изменении размеров окна браузера картинки могут "съехать". Для победы над подмигиванием необходимо сделать полноценные картинки замены:
onMouseover="document.evente1.src='../images/jsi/eventeb.gif';" onMouseout="document.evente1.src='../images/jsi/evente.gif';" > |
onMouseover="document.factse1.src='../images/jsi/factseb.gif';" onMouseout="document.factse1.src='../images/jsi/factse.gif';" > |
onMouseover="document.headse1.src='../images/jsi/headseb.gif';" onMouseout="document.headse1.src='../images/jsi/headse.gif';" > |
onMouseover="document.intrige1.src='../images/jsi/intrigeb.gif';" onMouseout="document.intrige1.src='../images/jsi/intrige.gif';" > |
начало страницы
u="u686.25.spylog.com";d=document;nv=navigator;na=nv.appName;p=1; bv=Math.round(parseFloat(nv.appVersion)*100); n=(na.substring(0,2)=="Mi")?0:1;rn=Math.random();z="p="+p+"&rn="+rn;y=""; y+=""; y+=""; y+=""; d.write(y);if(!n) { d.write("