Slidemenu и Mootools
Mootools
- Содержание
В этой статье речь пойдет о создании всплывающего меню, которое обязательно украсит ваш сайт. Для его создания используем компактный JavaScript-фреймворк Mootools v 1.1.
Наше меню будет выглядеть примерно так.
HTML-код следующий:
<ul id="slide_menu"> <li> <h3>menu 1</h3> <ul class="container"> <li><a href="#submenu11">submenu 1.1</a></li> <li><a href="#submenu12">submenu 1.2</a></li> <li><a href="#submenu13">submenu 1.3</a></li> </ul> </li> <li> <h3>menu 2</h3> <ul class="container"> <li><a href="#submenu21">submenu 2.1</a></li> <li><a href="#submenu22">submenu 2.2</a></li> <li><a href="#submenu23">submenu 2.3</a></li> </ul> </li> <!— аналогичным образом добавьте необходимые пункты —> </ul>
Каждое меню является элементом списка slide_menu. В тег <h3> заключаем раздел меню, затем идет список раскрывающегося подменю.
В таблице стилей убираем маркер для списка и добавляем элементу <h3> курсор в виде руки, что создаст эффект кнопки. Остальное оформление на ваш вкус.
h3 {
border: 1px solid #616161;
padding: 2px;
background-color: #DEDEDE;
cursor: pointer;
}
#slide_menu {
width: 160px;
list-style: none;
}
.container {
margin: 2px 0px;
list-style: none;
}
.container li {
padding: 2px;
text-align : left;
}
Подключим библиотеку Mootools.
<script type="text/javascript" src="mootools.js"></script>
Вставим следующее событие domready
window.addEvent('domready', function() {
var headings = $$('#slide_menu li h3');
var list = $$('#slide_menu li ul.container');
var collapsibles = new Array();
headings.each( function(heading, i) {
var collapsible = new Fx.Slide(list[i], {
duration: 'short',
transition: Fx.Transitions.quadIn
});
collapsibles[i] = collapsible;
heading.onclick = function(){
for(var j = 0; j < collapsibles.length; j++)
if(j!=i)
collapsibles[j].slideOut();
collapsible.toggle();
return false;
}
collapsible.hide();
});
});
Можно немного поэкспериментировать с опциями, меняя параметры меню. В строчке:
var collapsible = new Fx.Slide(list[i], {
duration: 'short',
transition: Fx.Transitions.quadIn
});
duration определяет время выдвижения скрипта в миллисекундах. Также возможны константы:
- ’short’ - 250ms
- ‘normal’ - 500ms
- ‘long’ - 1000ms
transition определяет способ выдвижения меню. Возможные значения:
- Fx.Transitions.linear
- Fx.Transitions.Bounce.easeOut
- Fx.Transitions.quadIn
Более подробную информацию Вы можете найти здесь.
Качаем исходник.
Вот собственно и все. Спасибо.
Понравилась статья? Подпишись на RSS.
Советую почитать:
Плавная смена фона
jQuery Slidermenu с ползунком
Многоуровневое выпадающее меню
Комментарии
а можно тоже самое только для кодировки 1251, а тут для utf
ОтветитьФайлы примера сохранены в кодировке 1251.
Если нужна перекодировка, используйте текстовый редактор, например, notepad++.
Измените только кодировку в мета-теге примера на windows-1251.
ОтветитьКак будет себя вести меню, когда я кликну на подменю menu 1 / submenu 1.2 ?
При переходе в раздел submenu 1.3, допустим, menu 1 не закроется?
ОтветитьМеню примет исходное состояние. Однако вы можете добавить класс 'active' к выбранному меню и код, который будет открывать соответствующий подраздел
Ответить"Однако вы можете добавить класс 'active' к выбранному меню и код, который будет открывать соответствующий подраздел"
ОтветитьА подсказать с кодом не могли бы?
Пример Slidemenu. Также обновил код для более новой версии фреймворка.
ОтветитьОгромное спасибо, Александр, именно то, что я искал.
Ответить