2

在 JQUERY 中,我试图创建一个简单的叠加层,当您将鼠标悬停content1它上面时,它会消失并content2出现。然后你将鼠标移出content2content1重新出现。

这工作正常,除了content2annoyingdiv鼠标移动到annoyingdivmouseout事件触发器时。我该如何解决这个问题?或者这是如何解决的?

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");
    });

});
4

2 回答 2

4

使用mouseleave事件而不是mouseout事件。

于 2012-04-24T13:32:52.283 回答
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;
}​​​
于 2012-04-24T13:35:06.690 回答