Javascript 创建边栏切换下拉菜单时出现问题
我正在工作。我试图在侧边栏上创建一个切换下拉菜单,当有人点击侧边栏上的“Tops”链接时触发该菜单,然后切换子菜单中要显示的内容。这是我目前的密码Javascript 创建边栏切换下拉菜单时出现问题,javascript,jquery,html,css,wordpress,Javascript,Jquery,Html,Css,Wordpress,我正在工作。我试图在侧边栏上创建一个切换下拉菜单,当有人点击侧边栏上的“Tops”链接时触发该菜单,然后切换子菜单中要显示的内容。这是我目前的密码 <style> ul.category ul.sub-menu ul.sub-menu li a{ display:none } </style> <script> jQuery(document).ready(function() { jQuery("#menu-item-746").click(fun
<style>
ul.category ul.sub-menu ul.sub-menu li a{
display:none
}
</style>
<script>
jQuery(document).ready(function() {
jQuery("#menu-item-746").click(function() {
jQuery(this).next("ul.category ul.sub-menu ul.sub-menu li a").toggle();
return false;
});
});
</script>
ul.类别ul.子菜单ul.子菜单li a{
显示:无
}
jQuery(文档).ready(函数(){
jQuery(“#菜单项-746”)。单击(函数(){
jQuery(this).next(“ul.category ul.sub-menu ul.sub-menu li a”).toggle();
返回false;
});
});
这把小提琴有几个问题:
#submenu
的类,它应该是submenu
事件
,因此可以使用e.preventDefault()
(除非您希望返回false
)ul
设置为display:none
,然后切换它,我会使用slideToggle
来获得更好的效果$("#menu-item-746").click(function(e) {
e.preventDefault();
$(this).next("ul").slideToggle();
});
.submenu ul{
display: none;
}
HTML
<ul class="submenu">
<li id="menu-item-746"><a href="#">Test Item</a></li>
<ul>
<li><a href="#">Test1</a></li>
<li><a href="#">Test2</a></li>
</ul>
</ul>
更新
我在你的网站上查看了你的HTML,似乎你的ul
subnav是你li
的孩子,而不是兄弟姐妹(它是你的兄弟姐妹)。试试这个:
$(this).find("ul").slideToggle();
另外,根据您提供的代码,您的目标是id
,这意味着这只适用于该1个元素。看起来带有subnav的有一个名为的类。菜单项有子菜单项
,因此我将针对它,如下所示:
$(".sub-menu .menu-item-has-children").click(function(e) {
e.preventDefault();
$(this).find("ul.sub-menu").slideToggle();
});
新更新
以a
为目标,然后:
$(".sub-menu .menu-item-has-children").on("click", " a:first", function(e) {
e.preventDefault();
$(this).siblings("ul.sub-menu").slideToggle();
});
那么问题出在哪里呢?开关坏了。还有一个问题:为什么不使用定制风格的手风琴呢?这适用于Tops链接,但现在其他链接不切换你说其他链接不切换是什么意思?尝试单击底部、外套、附件等。它们在Chrome中切换为meThey toggle,而不是FireFox