【问题标题】:JQuery - make element hidden when leaving TWO elementsJQuery - 留下两个元素时隐藏元素
【发布时间】:2013-10-09 11:51:08
【问题描述】:

下面的代码使#testnav1 元素在悬停在#admin1 上时出现。

我希望能够在鼠标离开两个元素时隐藏#testnav1,而不仅仅是一个或另一个。基本上,它是下拉菜单的一部分,它使#testnav1 在悬停时显示在#admin1 元素的左侧。

<script>
    $(function() {
        $("#admin1").hover(function() {
            var x = $(this).offset();
            var leftAjust = x.left - $("#testnav1").css("width").replace(/[^-\d\.]/g, '') - 1;
            $("#testnav1").css({"position": "absolute", "left": leftAjust, "top": x.top}).show();                
        });
    });
</script>

【问题讨论】:

    标签: jquery hover hide


    【解决方案1】:

    试试这个,

     $("#admin1").hover(function() {
         var x = $(this).offset();
         var leftAjust = x.left - $("#testnav1").css("width").replace(/[^-\d\.]/g, '') - 1;
         $("#testnav1").css({"position": "absolute", "left": leftAjust, "top": x.top}).show();                
     },function(){
         $("#testnav1").hide();// hide the element on mouse leave
     });
    

    更新

    var flagAdmin=false;var flagTestNav=false;
    $("#testnav1").mouseleave(function(){
       flagTestNav=true;
       hideTestNav();
    })
    $("#admin1").hover(function() {
         flagAdmin=false;flagTestNav=false;
         var x = $(this).offset();
         var leftAjust = x.left - $("#testnav1").css("width").replace(/[^-\d\.]/g, '') - 1;
         $("#testnav1").css({"position": "absolute", "left": leftAjust, "top": x.top}).show();                
    },function(){
         flagAdmin=true;
         hideTestNav();
    });
    function hideTestNav(){
        if(flagAdmin==true && flagTestNav==true)
        {
            $("#testnav1").hide();// hides only if both admin and testnav mouse-leaves
        }
    }
    

    【讨论】:

    • 它正确消失,但我希望 #testnav1 元素在悬停时保持可见。所以基本上,只要将#admin1 或#testnav1 悬停在上面,#testnav1 就需要可见。否则,它需要被隐藏。
    • #testnav1 元素在离开#admin 元素时不会消失,只有在离开自身时才会消失(testnav1)
    猜你喜欢
    • 2023-03-22
    • 2020-05-24
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多