You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.4 KiB

jQuery(document).ready(function($) {
// 处理桌面端下拉菜单
$('.menu-item-has-children').hover(
function() {
// 鼠标悬停时显示子菜单
$(this).addClass('active');
},
function() {
// 鼠标离开时隐藏子菜单
$(this).removeClass('active');
}
);
// 处理移动端下拉菜单点击
$('.menu-item-has-children > a').on('click', function(e) {
// 在移动端阻止默认链接跳转,改为切换子菜单显示
if ($(window).width() <= 768) {
e.preventDefault();
var $parent = $(this).parent();
var $subMenu = $parent.find('.sub-menu').first();
// 切换当前菜单项的子菜单
$subMenu.slideToggle(200);
$parent.toggleClass('active');
// 关闭其他同级菜单项的子菜单
$parent.siblings('.menu-item-has-children').removeClass('active')
.find('.sub-menu').slideUp(200);
}
});
// 处理移动端三级菜单点击
$('.sub-menu .menu-item-has-children > a').on('click', function(e) {
if ($(window).width() <= 768) {
e.preventDefault();
var $parent = $(this).parent();
var $subSubMenu = $parent.find('.sub-menu').first();
// 切换三级菜单
$subSubMenu.slideToggle(200);
$parent.toggleClass('active');
// 关闭其他同级三级菜单
$parent.siblings('.menu-item-has-children').removeClass('active')
.find('.sub-menu').slideUp(200);
}
});
// 点击页面其他地方时关闭所有下拉菜单(移动端)
$(document).on('click', function(e) {
if ($(window).width() <= 768) {
if (!$(e.target).closest('.menu-item-has-children').length) {
$('.menu-item-has-children').removeClass('active')
.find('.sub-menu').slideUp(200);
}
}
});
// 窗口大小改变时重置菜单状态
$(window).on('resize', function() {
if ($(window).width() > 768) {
// 桌面端:移除移动端的状态
$('.menu-item-has-children').removeClass('active');
$('.sub-menu').removeAttr('style');
}
});
});