Динамические подсказки и др. Введение В этом уроке мы рассмотрим реализацию динамических подсказок и подсветки кнопок. Эти две функции ничем принципиально не различаются. Обе они основаны на показе и прятании слоя. Я опишу их раздельно только для того, чтобы Вы оценили возможности применения динамического HTML. Подсветка кнопок В прошлом уроке мы написали функции для прятания и показа слоя. Вот они: function hideLayer(layerName){ eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"'); } function showLayer(layerName){ eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="visible"'); } Воспользуемся ими для реализации нашего примера. Предположим, что у нас есть некое меню. Мы хотим, чтобы при выборе курсором мыши определенного пункта, он подсвечивался вокруг (или изменялся другим образом). Создадим две картинки. Сам пункт меню и его подсветку (В зависимости от способа подсветки скрипт пишется немного по-разному, он будет немного проще, если подсвечивать не сверху, как у меня, а снизу). Создадим два слоя. Один видимый с пунктом меню, другой невидимый с подсветкой. <style type="text/css"> #button1 {POSITION: absolute; Z-INDEX: 10; LEFT: 150; TOP: 60; WIDTH: 423; HEIGHT: 45} #highlight1 {POSITION: absolute; Z-INDEX: 15; VISIBILITY: hidden; LEFT: 150; TOP: 60; WIDTH: 423; HEIGHT: 45} </style> <div id="button1"> <a href="wd.html"><img src="wd.gif" width=189 height=43 border=0></a> </div> <div id="highlight1"> <a href="wd.html"><img src="wd-g.gif" width=189 height=43 border=0></a> </div> При этом Z-INDEX у пункта меню должен быть больше, чем у подсветки, если мы подсвечиваем "снизу", и меньше, если мы подсвечиваем "сверху" (наш вариант). Ну а теперь воспользуемся событиями onMouseOver и onMouseOut: <a href="wd.html" onMouseOver="showLayer('highlight1')" onMouseOut="hideLayer('highlight1')"> <img src="wd.gif" width=189 height=43 border=0> </a> <a href="wd.html" onMouseOver="showLayer('highlight1')" onMouseOut="hideLayer('highlight1')"> <img src="wd-g.gif" width=189 height=43 border=0> </a> Если используется подсветка "снизу", ссылка у подсветки не нужна: <a href="wd.html" onMouseOver="showLayer('highlight1')" onMouseOut="hideLayer('highlight1')"> <img src="wd.gif" width=189 height=43 border=0> </a> <img src="wd-g.gif" width=189 height=43 border=0> Динамические подсказки Вы считаете, что Ваши пункты меню недостаточно информативны? Вы можете сделать так, чтобы при наведении курсором на пункт меню в определенном месте появлялась подсказка. Все, что Вам для этого нужно, это для каждого пункта меню создать невидимый слой с подсказкой. При этом все эти слои должны иметь одинаковые позиционные параметры. <style type="text/css"> #button1 {POSITION: absolute; Z-INDEX: 15; LEFT: 50; TOP: 60; WIDTH: 423; HEIGHT: 45} #explain1 {POSITION: absolute; Z-INDEX: 15; VISIBILITY: hidden; LEFT: 200; TOP: 60; WIDTH: 171; HEIGHT: 116} </style> <div id="button1"> <a href="mailto:webmaster@webclub.ru">Почта</a> </div> <div id="explain1"> Нажмите сюда, если Вы хотите послать письмо вебмастеру узла. </div> А теперь, как и в предыдущем примере, воспользуемся событиями onMouseOver и onMouseOut: <a href="mailto:webmaster@webclub.ru" onMouseOver="showLayer('explain1')" onMouseOut="hideLayer('explain')"> Почта</a>
|