8 808 Скрипты / Menu & Nav

Адаптивное многоуровневое меню

Экспериментальное меню позволяющее с экономить пространство на вашем сайте, где требуется использование много уровневого меню. "Детки" заменяют собой "родителей" не загромождая страницу. Меню можно устанавливать на страницы с адаптивным дизайном.

HTML

Структура меню:

<div id="dl-menu" class="dl-menuwrapper">
    <button>Открыть меню</button>
    <ul class="dl-menu">
        <li>
            <a href="#">Пункт 1</a>
            <ul class="dl-submenu">
                <li><a href="#">Под-пункт 1</a></li>
                <li><a href="#">Под-пункт 2</a></li>
                <li><a href="#">Под-пункт 3</a></li>
                <li>
                    <a href="#">Под-пункт 4</a>
                    <ul class="dl-submenu">
                        <li><a href="#">Под-под-пункт 1</a></li>
                        <li><a href="#">Под-под-пункт 2</a></li>
                        <li><a href="#">Под-под-пункт 3</a></li>
                    </ul>
                </li>
                <li><!-- ... --></li>
                <!-- ... -->
            </ul>
        </li>
        <li><!-- ... --></li>
        <li><!-- ... --></li>
        <!-- ... -->
    </ul>
</div><!-- /dl-menuwrapper -->

CSS

Анимация определена в CSS:

.dl-menu.dl-animate-out-1 {
    animation: MenuAnimOut1 0.4s linear forwards;
}
 
@keyframes MenuAnimOut1 {
    50% {
        transform: translateZ(-250px) rotateY(30deg);
    }
    75% {
        transform: translateZ(-372.5px) rotateY(15deg);
        opacity: .5;
    }
    100% {
        transform: translateZ(-500px) rotateY(0deg);
        opacity: 0;
    }
}
 
.dl-menu.dl-animate-in-1 {
    animation: MenuAnimIn1 0.3s linear forwards;
}
 
@keyframes MenuAnimIn1 {
    0% {
        transform: translateZ(-500px) rotateY(0deg);
        opacity: 0;
    }
    20% {
        transform: translateZ(-250px) rotateY(30deg);
        opacity: 0.5;
    }
    100% {
        transform: translateZ(0px) rotateY(0deg);
        opacity: 1;
    }
}

JS

Подключаем jQuery и плагин dlmenu:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/jquery.dlmenu.js"></script>

Вызов плагина происходит следующим образом:

$( '#dl-menu' ).dlmenu({
    animationClasses : { classin : 'НАЗВАНИЕ-КЛАССА-АНИМАЦИИ', classout : 'НАЗВАНИЕ-КЛАССА-АНИМАЦИИ' }
});

Например в Демо 3:

<script>
 $(function() {
  $( '#dl-menu' ).dlmenu({
   animationClasses : { classin : 'dl-animate-in-5', classout : 'dl-animate-out-5' }
  });
});
</script>
Скачать 3695Загрузок 14,46 Kb
Демо

Комментарии

  • Facebook
  • Вконтакте

Похожие статьи