html鼠标点击显示二级菜单内容,jquery控制的二级菜单,如何让鼠标点击时只显示一个?...

下面是一个二级菜单,第二级显示有个问题:

鼠标在另一个元素上点击的时候,原来弹出的二级菜单不会消失。

比如,在“水果”上单击,会弹出“水果”的相应二级菜单;

然后鼠标移到“水生动物”上,会弹出“水生动物”相应的二级菜单,

但是,原来“水果”上的二级菜单不会消失,要达到的效果是让它消失,也就是只显示一个二级菜单。

另一个问题是:

当在一级菜单上点击的时候,如果鼠标点到了链接以外的地方,一级菜单会消失,要达到的效果是不让它消失。

Html:

Javascript:

$(function () {

$(".item >li > a.trigger").on("click", function (e) {

var current = $(this).next();

var grandparent = $(this).parent().parent();

if ($(this).hasClass('left-caret') || $(this).hasClass('right-caret'))

$(this).toggleClass('right-caret left-caret');

grandparent.find('.left-caret').not(this).toggleClass('right-caret left-caret');

grandparent.find(".sub-menu:visible").not(current).hide();

current.toggle();

e.stopPropagation();

});

$(".item > li > a:not(.trigger)").on("click", function () {

var root = $(this).closest('.dropdown');

root.find('.left-caret').toggleClass('right-caret left-caret');

root.find('.sub-menu:visible').hide();

input.value = $(this).attr("data-species");

});

$('.dropdown-toggle').click(function () {

$('.sub-menu').hide();

$('.dropdown-menu .trigger').removeClass('left-caret');

$('.dropdown-menu .trigger').addClass('right-caret');

});

$('.sub-menu').mouseleave(function () {

$(this).hide();

$('.dropdown-menu .trigger').removeClass('left-caret');

$('.dropdown-menu .trigger').addClass('right-caret');

});

});

var species = new Vue({

el: '#species',

data: {

menu: [{

'group': '1',

'level01': '水果',

'level02': ['苹果', '桃子', '梨']

}, {

'group': '1',

'level01': '树',

'level02': ['苹果树', '梨树', '桃树']

},{

'group': '2',

'level01': '陆生动物',

'level02': ['牛', '羊', '马']

}, {

'group': '2',

'level01': '水生动物',

'level02': ['鲨鱼', '鲸', '海豹']

}]

},

computed: {

group1: function () {

return this.menu.filter(function (m) {

return m.group === '1'

})

},

group2: function () {

return this.menu.filter(function (m) {

return m.group === '2'

})

}

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值