Javascript 悬停时显示引导多级下拉菜单

Javascript 悬停时显示引导多级下拉菜单,javascript,jquery,css,twitter-bootstrap,drop-down-menu,Javascript,Jquery,Css,Twitter Bootstrap,Drop Down Menu,我知道这个标题上有几个帖子。我想要的是,在我现有的代码中并通过使用jQuery实现相同的功能,因为我已经为它的样式设计添加了大量的CSS行 我在web应用程序中用于实现多下拉菜单的代码片段 HTML: <div class="dropdown" style="position:relative"> <a href="#" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">Click Here &l

我知道这个标题上有几个帖子。我想要的是,在我现有的代码中并通过使用jQuery实现相同的功能,因为我已经为它的样式设计添加了大量的CSS行

我在web应用程序中用于实现多下拉菜单的代码片段

HTML

<div class="dropdown" style="position:relative">
<a href="#" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">Click Here <span class="caret"></span></a>
<ul class="dropdown-menu">
    <li>
        <a class="trigger right-caret">Level 1</a>
        <ul class="dropdown-menu sub-menu">
            <li><a href="#">Level 2</a></li>
            <li>
                <a class="trigger right-caret">Level 2</a>
                <ul class="dropdown-menu sub-menu">
                    <li><a href="#">Level 3</a></li>
                    <li><a href="#">Level 3</a></li>
                    <li>
                        <a class="trigger right-caret">Level 3</a>
                        <ul class="dropdown-menu sub-menu">
                            <li><a href="#">Level 4</a></li>
                            <li><a href="#">Level 4</a></li>
                            <li><a href="#">Level 4</a></li>
                        </ul>
                    </li>
                </ul>
            </li>
            <li><a href="#">Level 2</a></li>
        </ul>
    </li>
    <li><a href="#">Level 1</a></li>
    <li><a href="#">Level 1</a></li>
</ul>
JS

$(function(){
$(".dropdown-menu > 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();
});
$(".dropdown-menu > 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();
});
});
我只走了一小段路。我可以在鼠标悬停时显示第一个下拉菜单

js

.dropdown-menu>li
{   position:relative;
    -webkit-user-select: none; /* Chrome/Safari */        
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+ */
    /* Rules below not implemented in browsers yet */
    -o-user-select: none;
    user-select: none;
    cursor:pointer;
}
.dropdown-menu .sub-menu {
    left: 100%;
    position: absolute;
    top: 0;
    display:none;
    margin-top: -1px;
    border-top-left-radius:0;
    border-bottom-left-radius:0;
    border-left-color:#fff;
    box-shadow:none;
}
.right-caret:after,.left-caret:after
 {  content:"";
    border-bottom: 5px solid transparent;
    border-top: 5px solid transparent;
    display: inline-block;
    height: 0;
    vertical-align: middle;
    width: 0;
    margin-left:5px;
}
.right-caret:after
{   border-left: 5px solid #ffaf46;
}
.left-caret:after
{   border-right: 5px solid #ffaf46;
}
 $(".dropdown > a").hover(function(){
        $(this).parent().addClass('open');
    });
当我将鼠标悬停在第一级导航的任何“li”元素上时,如果存在任何第二级导航,则应显示该元素


您正在研究类似的问题吗?