代码之家  ›  专栏  ›  技术社区  ›  s15199d

jquery如果不悬停

  •  10
  • s15199d  · 技术社区  · 14 年前

    DIV A的mouseCenter将DIV B设置为show()。我要的是A区的mouseleave,如果有的话 在B区上方悬停,隐藏B区。但是,如果在A区上方悬停,则在A区的mouseleave上继续显示B区。

    $('#DIVA').mouseenter(function() {
            $('#DIVB').show();  
        }).mouseleave(function() {      
            //if DIVB not hovering
                $('#DIVB').hide();
            //end if
        });
    
    2 回复  |  直到 14 年前
        1
  •  5
  •   Mark    14 年前

    它可以简单到只使用 hover .

    http://jsbin.com/ojipu/2

    …但这取决于标记的外观。

        2
  •  8
  •   Sam    14 年前

    你能给我加个班吗 #DIVB 悬停,然后检查它 mouseleave 对于 #DIVA ?

    $('#DIVB').hover(function(){
        $(this).addClass('active');
    }, function(){
        $(this).removeClass('active');
    })
    
    $('#DIVA').mouseenter(function() {
        $('#DIVB').show();  
    }).mouseleave(function() {      
        if(!$('#DIVB').hasClass('active')){
            $('#DIVB').hide();
        }
    });