Используйте mmenu, чтобы показать пользовательский HTML

Как вы используете Mmenu для отображения пользовательского блока HTML? У меня плагин работает нормально для моей основной навигации. Ниже 980px это функционирует как выдвижная ничья.

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

Я попытался скопировать блок кода внизу HTML-шаблона, а затем нацелил его в JS следующим образом:

$(document).ready(function() {
    $(".test").mmenu({
        // Options
    }, {
        // Configuration
        clone: false,
        offCanvas: {
            pageSelector: ".page"
        },
        classNames: {
            selected: "active"
        }
    });

    var API = $(".test").data("mmenu");
    var $icon = $(".filter-toggle");

    $icon.on("click", function() {
        API.open();
    });
});

Панель выдвигается, и элементы списка отображаются, но заголовки не видны, а переполнение не работает в mmenu - возможно, потому что контент добавляется вне mm-panels дела.

Вот CodePen: https://codepen.io/moy/pen/paWwER

И для справки мой HTML выглядит так...

<div class="test">

    <nav class="filters">

        <h3 class="filters__title">Type of meat</h3>
        <ul class="filters__list">
            <li class="filters__item"><a class="filters__link">Filter #1</a></li>
            <li class="filters__item"><a class="filters__link">Filter #2</a></li>
            <li class="filters__item"><a class="filters__link">Filter #3</a></li>
            <li class="filters__item"><a class="filters__link">Filter #4</a></li>
            <li class="filters__item"><a class="filters__link">Filter #5</a></li>
            <li class="filters__item"><a class="filters__link">Filter #6</a></li>
            <li class="filters__item"><a class="filters__link">Filter #7</a></li>
            <li class="filters__item"><a class="filters__link">Filter #8</a></li>
            <li class="filters__item"><a class="filters__link">Filter #9</a></li>
            <li class="filters__item"><a class="filters__link">Filter #10</a></li>
        </ul>

        <h3 class="filters__title">Another category</h3>
        <ul class="filters__list">
            <li class="filters__item"><a class="filters__link">Filter #1</a></li>
            <li class="filters__item"><a class="filters__link">Filter #2</a></li>
            <li class="filters__item"><a class="filters__link">Filter #3</a></li>
            <li class="filters__item"><a class="filters__link">Filter #4</a></li>
            <li class="filters__item"><a class="filters__link">Filter #5</a></li>
        </ul>

    </nav>

</div>

Также стоит упомянуть, что я не "клонирую" оригинальную навигацию. Я не думал, что это сработает, так как плагин автоматически попытается отформатировать его в свою собственную структуру.

Поэтому я решил, что просто продублировать весь блок и поместить его в div - лучший способ сделать это - правильно? В идеале я бы предпочел, чтобы на странице не было 2 дублированных блоков кода, но я не могу придумать другой способ?

0 ответов

Другие вопросы по тегам