Javascript 带幻灯片的jquery菜单用于子菜单

Javascript 带幻灯片的jquery菜单用于子菜单,javascript,jquery,Javascript,Jquery,如果我点击li.menu-items,我想从左或右滑动子菜单。对于每个有子菜单的菜单项。这是我的html标记 <ul class="menu"> <ul> <li class="menu-item"> <a href="#&

如果我点击li.menu-items,我想从左或右滑动子菜单。对于每个有子菜单的菜单项。这是我的html标记

        <ul class="menu">
                        <ul>
                            <li class="menu-item">
                                <a href="#">item 1
                                </a>
                                <ul class="sub-menu">
                                    <li class="menu-item">
                                        <a href="#">item 2</a>
                                    </li>
                                    <li class="menu-item">
                                        <ul class="sub-menu">
                                           <li><a href="">item 1</li></li>
                                           <li><a href="">item 1</li></li>
                                        </ul>
                                    </li>
                                </ul>
                            </li>
                            <li class="menu-item">
                                <a href="#">item 4</a>
                                <ul class="sub-menu">
                                    <li class="menu-item">
                                        <a href="#">item5</a>
                                    </li>
                                    <li class="menu-item">
                                        <a href="#">item 6</a>
                                    </li>
                                </ul>
                            </li>
                            <li class="menu-item"><a href="#">item 7</a></li>
                            <li class="menu-item"><a href="#">item 8</a></li>
                           
                        </ul>
                    </ul>

请帮我解决这个问题

据我所知,jQuery中没有类似slideLeft的功能。尽管您可以使用jQueryUI使用这样的小技巧来实现它

$(this).show("slide", { direction: "left" }, 1000);
但我更喜欢基于jQuery类的定制CSS示例。 检查下面的代码示例。如果你还需要什么。请让我知道

是的,你也犯了一个小错误:你的菜单上有一个UL direct子菜单UL,UL只能将LI作为direct子菜单,请更正它并正确关闭所有标签

$(“.菜单项”)。单击(函数(e){
如果($('.sub-menu',this).length>=1){
e、 预防默认值();
}
调试器;
$(this).sides().find('>.sub-menu').removeClass('open');
$(this.find('>.sub-menu').addClass(“打开”);
e、 停止传播();
});
$('.back')。单击(函数(e){
$(this).closest('.sub-menu').removeClass('open');
e、 停止传播();
})
菜单{
背景:#中交;;
位置:相对位置;
}
*{填充:0;边距:0;框大小:边框框;}
.子菜单{
显示:块;
位置:绝对位置;
高度:自动;
宽度:100%;
左-100%;
过渡:均为0.5s;
最高:0%;
}
.子菜单.打开{
左:0;
背景:#666;
}
.back{光标:指针;页边距底部:20px;}

    • 后退
      • 后退
    • 后退

据我所知,jQuery中没有类似slideLeft的函数。尽管您可以使用jQueryUI使用这样的小技巧来实现它

$(this).show("slide", { direction: "left" }, 1000);
但我更喜欢基于jQuery类的定制CSS示例。 检查下面的代码示例。如果你还需要什么。请让我知道

是的,你也犯了一个小错误:你的菜单上有一个UL direct子菜单UL,UL只能将LI作为direct子菜单,请更正它并正确关闭所有标签

$(“.菜单项”)。单击(函数(e){
如果($('.sub-menu',this).length>=1){
e、 预防默认值();
}
调试器;
$(this).sides().find('>.sub-menu').removeClass('open');
$(this.find('>.sub-menu').addClass(“打开”);
e、 停止传播();
});
$('.back')。单击(函数(e){
$(this).closest('.sub-menu').removeClass('open');
e、 停止传播();
})
菜单{
背景:#中交;;
位置:相对位置;
}
*{填充:0;边距:0;框大小:边框框;}
.子菜单{
显示:块;
位置:绝对位置;
高度:自动;
宽度:100%;
左-100%;
过渡:均为0.5s;
最高:0%;
}
.子菜单.打开{
左:0;
背景:#666;
}
.back{光标:指针;页边距底部:20px;}

    • 后退
      • 后退
    • 后退

我的代码不是jQuery,但我希望它对您有用

var x=document.getElementsByClassName('menu');
变量y=x[0]。getElementsByTagName('a');
for(设i=0;i

我的代码不是jQuery,但我希望它对您有用

var x=document.getElementsByClassName('menu');
变量y=x[0]。getElementsByTagName('a');
for(设i=0;i