Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 悬停jquery时保持子菜单打开_Javascript_Jquery_Navigation_Hover - Fatal编程技术网

Javascript 悬停jquery时保持子菜单打开

Javascript 悬停jquery时保持子菜单打开,javascript,jquery,navigation,hover,Javascript,Jquery,Navigation,Hover,我有一个下拉菜单,我想保持悬停打开。我以前使用的是.click(),它将保持打开状态,但当我将代码更改为.hover()时,当我将鼠标移离顶部链接时,它就会消失。 这是我的密码: <nav> <div class="nav-mobile"> <a id="nav-toggle" href="#"><span></span></a> </di

我有一个下拉菜单,我想保持悬停打开。我以前使用的是.click(),它将保持打开状态,但当我将代码更改为.hover()时,当我将鼠标移离顶部链接时,它就会消失。 这是我的密码:

<nav>
            <div class="nav-mobile">
                <a id="nav-toggle" href="#"><span></span></a>
            </div>
            <ul class="nav-list">
                <li><a href="#">Solutions</a>
                    <ul class="nav-dropdown">
                        <li><a href="#">Click & Collect</a></li>
                        <li><a href="#">Endless Aisle</a></li>
                        <li><a href="#">Ship from Store</a></li>
                        <li><a href="#">Partner Dropship</a></li>
                        <li><a href="#">In-Store Returns</a></li>
                        <li><a href="#">Fulfillment Optimization</a></li>
                    </ul>
                </li>
                <li><a href="#">The Way We Work</a>
                    <ul class="nav-dropdown">
                        <li><a href="#">Software as a Service</a></li>
                        <li><a href="#">Delivering Best Practice</a></li>
                        <li><a href="#">Reusable Integrations</a></li>
                        <li><a href="#">Partner Collaboration</a></li>
                        <li><a href="#">Sharing Success</a></li>
                        <li><a href="#">Living Our Values</a></li>
                    </ul>
                </li>
                <li><a href="#"><img class="flag" src="assets/english.png" alt="">English</a>
                    <ul class="nav-dropdown">
                        <li><a href="#"><img class="flag" src="assets/cantonese.png" alt="">Cantonese</a></li>
                        <li><a href="#"><img class="flag" src="assets/japanese.png" alt="">Japanese</a></li>
                        <li><a href="#"><img class="flag" src="assets/korean.png" alt="">Korean</a></li>
                        <li><a href="#"><img class="flag" src="assets/mandarin.png" alt="">Mandarin</a></li>
                    </ul>
                </li>
            </ul>
        </nav>

如何使其在hover上工作

检查此链接,Nutail解释得很好,您需要为鼠标进入和鼠标离开事件编写代码。

检查此链接,Nutail解释得很好,您需要为鼠标进入和鼠标离开事件编写代码。

您在使用悬停选择器时犯了一些错误,您必须使用
父项>子项
选择器。为了消除mouseout效应,我对您的代码做了一些更改,以提高可读性,请检查以下内容:

$(“.nav下拉列表”).hide()
$('nav>ul>li>a:not(.only child)).mouseenter(函数(e){
$('.nav下拉列表').hide();
$(this).next('.nav下拉列表').slideToggle();
e、 停止传播();
});
/*$('nav ul li>a:not(.only child)).mouseleave(函数(e){
$(this).sides('.nav下拉列表').slideToggle();
e、 停止传播();
})*/
$('html:not(.nav dropdown')。单击(函数(){
$('.nav下拉列表').hide();
});
$(“#导航切换”)。单击(函数(){
$('nav ul')。滑动切换();
});
$(“#导航切换”)。打开('单击',函数(){
this.classList.toggle('active');
});
.nav list>li{
边框:1px纯黑;
宽度:300px;
}


您在使用悬停选择器时犯了一些错误,您必须使用
父项>子项
选择器。为了消除mouseout效应,我对您的代码做了一些更改,以提高可读性,请检查以下内容:

$(“.nav下拉列表”).hide()
$('nav>ul>li>a:not(.only child)).mouseenter(函数(e){
$('.nav下拉列表').hide();
$(this).next('.nav下拉列表').slideToggle();
e、 停止传播();
});
/*$('nav ul li>a:not(.only child)).mouseleave(函数(e){
$(this).sides('.nav下拉列表').slideToggle();
e、 停止传播();
})*/
$('html:not(.nav dropdown')。单击(函数(){
$('.nav下拉列表').hide();
});
$(“#导航切换”)。单击(函数(){
$('nav ul')。滑动切换();
});
$(“#导航切换”)。打开('单击',函数(){
this.classList.toggle('active');
});
.nav list>li{
边框:1px纯黑;
宽度:300px;
}


然后你必须评论mouseleave代码然后你必须评论mouseleave代码这太好了,非常感谢。比我看到的要清楚得多。我会添加鼠标离开功能吗?谢谢你的帮助,我是javascript/jquery的新手,有时会很高兴能帮上忙。你可以删除mouseout函数,如果你不需要在鼠标不在的时候做一些事情,如果你不离开它并添加你需要工作的代码。这很好,非常感谢。比我看到的要清楚得多。我会添加鼠标离开功能吗?谢谢你的帮助,我是javascript/jquery的新手,有时会很高兴能帮上忙。你可以删除mouseout函数,如果你不需要在鼠标不在的时候做一些事情,如果你不离开它并添加你需要工作的代码。
function($) {
    $(function() {
        $('nav ul li > a').not($('.only-child')).mouseenter(function(e){
            $(this).siblings('.nav-dropdown').slideToggle();
            $('.nav-dropdown').not($(this).siblings()).hide();
            e.stopPropagation();
        });
        $('nav ul li > a').not($('.only-child')).mouseleave(function(e) {
            $(this).siblings('.nav-dropdown').slideToggle();
            e.stopPropagation();
        })
        $('html').click(function(){
            $('.nav-dropdown').hide();
        });

        $('#nav-toggle').click(function() {
            $('nav ul').slideToggle();
        });

        $('#nav-toggle').on('click', function() {
            this.classList.toggle('active');
        });

    });
})(jQuery);