Javascript 如何通过jQuery滑动切换下拉菜单项?
我有以下代码。它所做的是,单击一个Javascript 如何通过jQuery滑动切换下拉菜单项?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有以下代码。它所做的是,单击一个li,它的下拉列表将向下滑动。如果单击它旁边的另一个li,则另一个下拉菜单将向下滑动,然后上一个下拉菜单将向上滑动 但是,如果我要单击相同的li来“打开”和“关闭”它,那么下拉菜单将在第一次单击时向下滑动,然后在第二次单击尝试并“关闭”它时,它将再次向右滑动 所以问题是,如果我点击一个父链接,然后立即再次点击它,下拉菜单会向上滑动,然后再向下滑动。它不会保持“关闭”或切换 这是我的密码: $(“.dropdown”)。单击(函数(){ $(“li>ul”).s
li
,它的下拉列表将向下滑动。如果单击它旁边的另一个li
,则另一个下拉菜单将向下滑动,然后上一个下拉菜单将向上滑动
但是,如果我要单击相同的li
来“打开”和“关闭”它,那么下拉菜单将在第一次单击时向下滑动,然后在第二次单击尝试并“关闭”它时,它将再次向右滑动
所以问题是,如果我点击一个父链接,然后立即再次点击它,下拉菜单会向上滑动,然后再向下滑动。它不会保持“关闭”或切换
这是我的密码:
$(“.dropdown”)。单击(函数(){
$(“li>ul”).slideUp();
$('li>ul')。不是($(this.children(“ul”)。滑动切换(“swing”));
});代码>
-
我不知道您的html和css代码如何,但这可以让您了解
$(“.dropdown”)。单击(函数(){
$(“.dropdown>ul”).slideUp();
$(this.find(“ul”).slideDown();
})
li.dropdown>ul{
显示:无;
}
-
测试1
- 种皮
- 测试B
-
测试2
- testc
- 测试
如果我理解正确,您希望单击父链接以向下滑动所有子菜单,当单击一个子菜单时,将其向上滑动,然后向下滑动其他子菜单
有关详细信息,请参见以下代码的注释:
$(“.dropdown>ul”)。单击(函数(e){
$(“li>ul”).slideUp();//向上滑动用户单击的菜单
$('li>ul')。不是($(this)).slideDown();//向下滑动除一个用户单击的菜单之外的其他菜单
$(此).children(“ul”).slideToggle(“swing”);
e、 stopPropagation();//防止单击事件在DOM树中冒泡
});
$(“.dropdown”)。单击(函数(e){
$(“li>ul”).slideDown();//为所有子ul向下滑动
});代码>
-
-
你的问题是什么?请包括一个来帮助演示这个问题。我已经包括了我的htmlI,我想建议添加一个类,以及添加一个最容易显示无和块的类,我已经尝试过了,但是你不能在显示无和显示块之间转换,所以我想用jquery routei替换addClass removeClass和slideDown slideUp