» Меню сайта |
Разделы сайта
Шаблоны
Скрипты
Статьи
Графика
|
|
Главная » 2008 » Сентябрь » 10 » Древовидное меню
Древовидное меню | 10.Сен.2008 | 17:40:35 |
Древовидное меню
Теперь про меню скажу. Все наверно видели такие меню, с виду обычные три ссылки, а нажимаешь на неё и выскакивают ещё подразделы. Вот примерно это сейчас и сделаем:
до нажатия:
после нажатия:
JavaScript: (объяснения ниже)
CODE <script>
function startmenu() { document.getElementById('menu1').style.display = "none"; document.getElementById('menu2').style.display = "none"; document.getElementById('menu3').style.display = "none"; }
function menufunc(menuId) { if(document.getElementById(menuId).style.display == "none") { startmenu(); document.getElementById(menuId).style.display = "block"; } else { startmenu(); } }
</script>
что где?
1) function startmenu() - создаём функцию, имя произвольное в данном случаи startmenu 2) document.getElementById('menu1').style.display = "none"; - этой строчкой находится элемент в документе, id которого - menu1 и этот элемент удаляется из документа. Занимаемое им место не резервируется и веб-страница формируется так, словно элемента и не было. В нашем случи таких мест - 3 (тоесть три 'выподаюших' меню ) 3) function menufunc(menuId) - новая функция, в теле которой будет условие. звучит примерно так: если элемент в документе имеет id - menuId и этот элемент равен значению - none (тоесть скрыт), то присвоить ему значение - block! Которое откроет наше меню... ежели нет, то всё как в первом пункте.
Теперь что такое menuId??? А это мы узнаем, когда сделаем html макет нашего меню: (объяснения опять таки ниже...)
CODE <body onLoad="javascript:startmenu()"> <table width="100%"> <tr> <td valign="top" width="20%">
<a href="javaScript:menufunc('menu1')">Photoshop</a> <div id="menu1"> - <a href='/'>Уроки Photoshop</a><br> - <a href='/'>Работа в Photoshop</a><br> - <a href='/'>Photoshop Exchange</a><br> </div> <br> <a href="javaScript:menufunc('menu2')">Векторные редакторы</a> <div id="menu2"> - <a href='/'>Adobe Illustrator</a><br> - <a href='/'>Corel Draw</a><br> </div> <br> <a href="javaScript:menufunc('menu3')">3D редакторы</a> <div id="menu3"> - <a href='/'>3D редакторы</a><br> - <a href='/'>3D Уроки</a><br> - <a href='/'>3D Работы</a><br> </div> <br>
</td> <td valign="top" width="80%">
</td> </tr> </table> </body>
Что видим: у каждого <div> есть уникальный id (menu1,2,3), припоминаете эти названия, в верхнем скрипте мы их скрыли (none). И есть ещё загадочное onLoad="javascript:startmenu()" а это темка сразу при загрузке страницы, запускает функцию, которая в свою очередь скрывает <div>'ы. С этим понятно. Теперь давайте поглядим на это:
CODE <a href="javaScript:menufunc('menu3')"> Опять знакомые все лица, неправда ли ( вспоминаем функцию menufunc и её значение - menuId ) этой строчкой в ту самую функцию menufunc мы вместо menuId, ставим тот id который хотим открыть.... вот теперь думаю всё окончательно понятно.
Ну вот собсно меню и готово, ну для пущей красоты можно накидать css.
примерно так:
CODE a:visited{color:black;font-family:verdana} a:link{color:black;font-family:verdana} a:hover{color:blue;font-family:verdana}
ну это уже украшательства, на любителя...
|
Категория: Скрипты для UCOZ |
Просмотров: 1336 |
Добавил: CorsaR
|
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|
|