触发多个导航菜单的点击事件 [英] Trigger click event for multiple navigation menu

查看:78
本文介绍了触发多个导航菜单的点击事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好b $ b

我有两个导航菜单 - 左侧仪表板和顶级主导航。有一些共同的链接和相同的行为。我想通过在当前子菜单上添加活动类来触发同一页面的导航和响应的点击事件。



这是我的代码:



var url = window.location.href;

//也可用于相对和绝对hrefs

$('。main -nav li a')。filter(function(){//,.subnav-menu li a

return url.toLowerCase()。indexOf((this.href).toLowerCase())> ; = 0;

})。parent()。addClass('active');



$('。main-nav li ul li a')。filter(function(){//,.subnav-menu li ul li a

return url.toLowerCase()。indexOf((this.href).toLowerCase()) > = 0;

})。parent()。parent()。parent()。addClass('active');



$(。main-nav li a,.subnav-menu li a)。on('click',function(){

$('。main-nav li,.subnav- menu li')。removeClass('active');

$(this).parent('li')。addClass(活跃');



});

$(。main-nav li ul li a,.subnav-menu li ul li a)。on('click',function(){

$('。main-nav li,.subnav-menu li')。removeClass('active');

$(this).parent()。parent()。parent('li')。addClass('active');



});





在nav li上添加活动类的问题。

感谢你。

解决方案

('。main-nav li a')。filter(function(){//,.subnav-menu li a

return url.toLowerCase ()。indexOf((this.href).toLowerCase())> = 0;

})。parent()。addClass('active');



('。main-nav li ul li a')。filter(function(){//,.subnav-menu li ul li a

return url.toLowerCase()。indexOf((this.href).toLowerCase())> = 0;

})。parent()。parent()。parent()。 addClass('active');



(。main-nav li a,.subnav-menu li a)。on('click',function(){


Hi
I've two navigation menu - left dashboard and top main nav. There are some common links and same behavior. I wanna trigger click event for both navigation and response for same page with adding the active class on current sub menu.

Here is my code :

var url = window.location.href;
// Will also work for relative and absolute hrefs
$('.main-nav li a').filter(function () { //, .subnav-menu li a
return url.toLowerCase().indexOf((this.href).toLowerCase()) >= 0;
}).parent().addClass('active');

$('.main-nav li ul li a').filter(function () {//, .subnav-menu li ul li a
return url.toLowerCase().indexOf((this.href).toLowerCase()) >= 0;
}).parent().parent().parent().addClass('active');

$(".main-nav li a, .subnav-menu li a").on('click', function() {
$('.main-nav li, .subnav-menu li').removeClass('active');
$(this).parent('li').addClass('active');

});
$(".main-nav li ul li a, .subnav-menu li ul li a").on('click', function() {
$('.main-nav li, .subnav-menu li').removeClass('active');
$(this).parent().parent().parent('li').addClass('active');

});


The problem with adding active class on nav li.
Thanking You.

解决方案

('.main-nav li a').filter(function () { //, .subnav-menu li a
return url.toLowerCase().indexOf((this.href).toLowerCase()) >= 0;
}).parent().addClass('active');


('.main-nav li ul li a').filter(function () {//, .subnav-menu li ul li a
return url.toLowerCase().indexOf((this.href).toLowerCase()) >= 0;
}).parent().parent().parent().addClass('active');


(".main-nav li a, .subnav-menu li a").on('click', function() {


这篇关于触发多个导航菜单的点击事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆