将鼠标悬停在div的嵌套项目上

时间:2012-04-24 13:30:32

标签: javascript jquery html

在JQUERY中,我正在尝试创建一个简单的叠加层,当您在content1悬停时,它会消失并显示content2。然后,content2 mouseout 再次出现content1

当鼠标移过content2 mouseout 事件触发器时,annoyingdivannoyingdiv,此工作正常。我该如何解决这个问题?或者这是如何解决的?

HTML

<div class="content1">blah blah</div>

<div class="content2">
    <div class="annoyingdiv">
        blah blah
    </div>
</div>

Jquery javascript

 $(function () {

    $('.content1').hover(function () {

        $(".content2").css("display", "block");
        $(this).css("display", "none");

    });

    $('.content2').mouseout(function () {

        $(".content1").css("display", "block");
        $(this).css("display", "none");
    });

});

2 个答案:

答案 0 :(得分:4)

使用mouseleave event代替mouseout事件。

答案 1 :(得分:2)

使用CSS。

证明:http://jsfiddle.net/iambriansreed/vaQTU/

HTML:

<div class="parent">
    <div class="content1">blah blah content1</div>

    <div class="content2">
        <div class="annoyingdiv">
            blah blah annoyingdiv
        </div>
    </div>
</div>

CSS:

.parent .content2 {
    display: none;
}
.parent:hover .content1 {
    display: none;
}
.parent:hover .content2 {
    display: block;
}​​​