Javascript jQuery下拉菜单打开所有子菜单

Javascript jQuery下拉菜单打开所有子菜单,javascript,jquery,html,css,menu,Javascript,Jquery,Html,Css,Menu,关于jQuery,我有一个问题。我想制作一个带有子菜单的响应式下拉菜单。如果窗口宽度小于700px,子菜单将触发onClick。如果窗口宽度大于700px,子菜单将触发onHover 当我调整窗口大小时,window.resize代码用于进行更改,而无需刷新页面。它可以工作,但问题是,如果我单击/悬停带有嵌套子列表的两个链接中的任何一个,它将打开所有嵌套列表。除此之外,它还可以正常工作 这是Html代码(.navLevel2类具有display:none): 因此,问题是: 如果我将鼠标悬停/单

关于jQuery,我有一个问题。我想制作一个带有子菜单的响应式下拉菜单。如果窗口宽度小于700px,子菜单将触发onClick。如果窗口宽度大于700px,子菜单将触发onHover

当我调整窗口大小时,window.resize代码用于进行更改,而无需刷新页面。它可以工作,但问题是,如果我单击/悬停带有嵌套子列表的两个链接中的任何一个,它将打开所有嵌套列表。除此之外,它还可以正常工作

这是Html代码(.navLevel2类具有display:none):

因此,问题是: 如果我将鼠标悬停/单击链接2,它将打开所有嵌套列表。如果单击/悬停链接3,则相同。 问题出在哪里,因为我找不到bug


谢谢大家!

触发器中的选择器
.fakeLink>ul
-

function click_m(){
   $('.fakeLink > ul').slideToggle(300);   
}

function toggle_m(){
   $('.fakeLink > ul').stop().slideToggle(300);  
}
将尝试在类
.fakeLink
下查找所有
,从而显示所有这些

您可以使用
next()
只选择下一个
,我相信这应该会起作用。所以-

function click_m(){
   $('.fakeLink').next('ul').slideToggle(300);   
}

function toggle_m(){
   $('.fakeLink').next('ul').stop().slideToggle(300);  
}

未测试。

我认为您需要更改单击功能,以针对正在单击的特定元素。我试过这个:

function click_m($target){
  $($target).children().slideToggle(300); 
}
让脚本调用:

$('.fakeLink').attr('onclick','return click_m(this)');
这似乎有效。你可以在这里看到:

然后,您只需在悬停版本中复制该概念。

对不起,无论窗口大小如何,使用next()都不起任何作用。不过还是要谢谢你!
function click_m(){
   $('.fakeLink').next('ul').slideToggle(300);   
}

function toggle_m(){
   $('.fakeLink').next('ul').stop().slideToggle(300);  
}
function click_m($target){
  $($target).children().slideToggle(300); 
}
$('.fakeLink').attr('onclick','return click_m(this)');