javascript 移动菜单JS - ES6
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 移动菜单JS - ES6相关的知识,希望对你有一定的参考价值。
/**
* Mobile Menu Top Level Reveal
*
*/
export class MobileMenuMain {
/**
* Constructor
*
*/
constructor() {
this.burger = document.querySelector('[data-js-mobile-burger]');
this.mainMenu = document.querySelector('.main-nav__menu');
this.burgerActiveClass = 'main-header__hamburger--active';
this.menuActiveClass = 'main-nav__menu--active';
this.activeState = false;
this.burger.addEventListener('click', event => this.toggle(event));
}
/**
* Opens the mobile menu
*
*/
open() {
this.burger.classList.add(this.burgerActiveClass);
this.mainMenu.classList.add(this.menuActiveClass);
this.activeState = true;
}
/**
* Closes the mobile menu
*
*/
close() {
this.burger.classList.remove(this.burgerActiveClass);
this.mainMenu.classList.remove(this.menuActiveClass);
this.activeState = false;
}
/**
* Toggle the mobile menu
* @param {Event} event - Prevents the default action of the anchor
*/
toggle(event) {
event.preventDefault();
if (this.activeState) {
this.close();
} else {
this.open();
}
}
}
以上是关于javascript 移动菜单JS - ES6的主要内容,如果未能解决你的问题,请参考以下文章
Bootstrap.js 未在 Rails 应用程序中切换移动菜单
javascript 具有多个菜单的菜单功能 - ES6类
一个轻量级、响应迅速、类似移动设备的导航菜单插件
Node.js资讯 | ES6 下的函数式:递归模式;JavaScript 深拷贝性能分析
javascript es6 object mixin #js#es6 #object
javascript es6 clone object #js#es6 #object