项目作者: appleple

项目描述 :
JavaScript for multi level menu
高级语言: TypeScript
项目地址: git://github.com/appleple/multi-menu.git
创建时间: 2020-01-30T04:51:50Z
项目社区:https://github.com/appleple/multi-menu

开源协议:MIT License

下载


MultiMenu.js

Install

use npm

  1. $ npm install multi-menu --save

or from cdn

  1. <link rel="stylesheet" href="https://unpkg.com/multi-menu@0.0.3/css/multi-level-menu.css">
  2. <script src="https://unpkg.com/multi-menu@0.0.3/bundle/multi-menu.js"></script>

Usage

basic usage

  1. import MultiMenu from 'multi-menu';
  2. import 'multi-menu/css/multi-level-menu.css';
  3. new MultiMenu('.js-multi-menu');

When you want to limit the ul level to apply js

  1. import MultiMenu from 'multi-menu';
  2. import 'multi-menu/css/multi-level-menu.css';
  3. new MultiMenu('.js-multi-menu', {
  4. levelLimit: 2
  5. });

When you don’t want to apply js to specific ul

  1. import MultiMenu from 'multi-menu';
  2. import 'multi-menu/css/multi-level-menu.css';
  3. new MultiMenu('.js-multi-menu', {
  4. disableMenuClass: 'js-disable-menu'
  5. });
  1. <ul class="js-multi-menu">
  2. <li>test</li>
  3. <ul class="js-disable-menu">
  4. <li>test</li>
  5. </ul>
  6. </ul>

When you want to prepend custom HTML on top of the ul

  1. import MultiMenu from 'multi-menu';
  2. import 'multi-menu/css/multi-level-menu.css';
  3. new MultiMenu('.js-multi-menu', {
  4. prependHTML: (link) => `<a href="#" class="js-menu-back-btn">← Back </a></li><li class="title">${link.dataset.title}<li>`,
  5. });

When you want to show specific ul first

  1. <ul class="js-multi-menu">
  2. <li>test</li>
  3. <ul class="active">
  4. <li>test</li>
  5. </ul>
  6. </ul>

Demo

https://pensive-lovelace-a07c9a.netlify.com/