使div可见确实在mouseenter事件上存在一些问题

时间:2014-05-22 09:46:19

标签: jquery html

简单字词 我希望在#livecart悬停&上显示#cart {}如果我将鼠标悬停在#livecart上,请将其保持可见状态。如果我将鼠标悬停在任何其他div上,则应隐藏它。

可能很难解释。

但这里是jsfiddle。 http://jsfiddle.net/8fwFD/

第一种情况:转到链接,将鼠标悬停在购物车上,然后转到任何其他&然后再直接到购物车。 第二:将鼠标悬停在购物车上,然后悬停在任何其他地方,然后悬停在任何外部区域和然后到购物车。

在第二种情况下,它运行正常。首先,它没有。

知道为什么会这样吗?

3 个答案:

答案 0 :(得分:1)

根据我对评论的理解,你可以尝试这样的事情

$(document).ready(function () {
  $('#carttotal').on('mouseenter', function (e) {
    $("#livecart").css("display", "block"); 
  });
  $('#home, #myprofile').on('mouseenter', function () {
    $('#livecart').hide();
  });
});

JSFiddle

这显示了推车悬停时的div,并保持可见,直到用户将鼠标悬停在其他某个div上...

答案 1 :(得分:0)

使用此jquery ....

$("#carttotal").mouseenter(function () {
    $("#livecart").show();
});
$("#carttotal").mouseout(function () {
    $("#livecart").hide();
});

修改

你想要这个......

$("#carttotal").mouseenter(function () {
  if ($('#livecart').css('display') == 'none') 
     $("#livecart").show();
  else
     $("#livecart").hide();

    });

小提琴:http://jsfiddle.net/6bf9G/2/

答案 2 :(得分:0)

试试这个......

 $("#carttotal").mouseenter(function () {
        if ($('#livecart').css('display') == 'none') $("#livecart").show();
        else $("#livecart").hide();

    });
    $("#myprofile, #home").hover(function () {
        $("#livecart").hide();
    });

小提琴:http://jsfiddle.net/6bf9G/3/