如何通过悬停第一个div显示/隐藏第二个div?

时间:2014-09-26 20:11:48

标签: jquery mouseover show-hide mouseout

以下代码工作正常但有一点我无法解决的问题。

当div2显示时,通过将鼠标指针移动到其包含的链接(从一个链接到另一个链接)内,它将被隐藏。

出了什么问题以及如何解决?

<html>
<body>
    <script src="http://code.jquery.com/jquery-1.8.2.min.js" type="text/javascript"></script>

    <div>
        <span id="div1">User Name</span>
        <section id="div2">
            <a id="lnkLogin" href="#">Link 1</a>
            <a id="lnkStatus" href="#">Link 2</a>
        </section>
    </div>
    <script>
        $(function () {
            jQuery('#div2').hide(); jQuery('#div1').mouseover(function () {
                jQuery('#div2').fadeIn();
            });
            jQuery('#div2').mouseout(function () {
                jQuery('#div2').fadeOut();
            });
        });
    </script>
</body>
</html>

Fiddle

感谢您的关注!

1 个答案:

答案 0 :(得分:1)

#div2放在#div1内:

<div> 
    <span id="div1">User Name
        <section id="div2"> 
            <a id="lnkLogin" href="#">Link 1</a>
            <a id="lnkStatus" href="#">Link 2</a>
        </section>
    </span>
</div>

Fiddle demo

请注意,我已更改为mouseentermouseleave以防止重复行为。我还建议使用语义ID值而不是元素类型值,当标记发生变化时,这些值会变得不正确:#username#userlinks