Jquery为三级菜单设置动画

时间:2014-02-28 10:49:02

标签: jquery html animation slidetoggle

我正在使用悬停动画构建一个由三个级别组成的菜单。

Here is a JSFIDLE of my menu

我的目标:

1 - 当用户将鼠标悬停在主菜单上时,我想为第二级设置动画并淡化所有链接内容。当用户离开标题部分时。我想淡出链接内容和顶部滑动第二个菜单级别。注意:我想删除队列效果。

2 - 当第二级可见(链接)时,如果用户点击了about / contact部分,我将使用正确的内容滑动第三级菜单。注意:第二个菜单级别必须保持可见。如果用户点击关闭按钮,我将关闭第三级

3 - 在任何时候,如果用户离开标题区域,首先我需要淡出所有文本,然后滑动第二和第三个菜单。

任何帮助将非常感激=) 感谢

HTML:

<header>
    <div id="main-header">
        <div class="left"><img src="http://design-online-logo.com/wp-content/uploads/2013/10/Deutsch-Logo.png"></div>
        <div class="middle"><a href=""><img src="http://design-online-logo.com/wp-content/uploads/2013/10/Deutsch-Logo.png"></a></div>
        <a id="tray-button"><div class="right"></div></a>
    </div><!-- main-header -->
    <div id="slidding-header-menu">
        <div id="relative-container">
            <ul id="galleries">
                <li><a>sunshine</a></li><li><a>ok</a></li><li><a>test</a></li>              
            </ul><!-- galleries -->
            <ul id="pages">
                <li id="about"><p>ABOUT</p></li>
                <li id="contact"><p>CONTACT</p></li>
                <li><img src="http://localhost/ashvasali/wp-content/themes/ashvasali/assets/img/ash/Ash-Vesali-close.png"></li>
            </ul><!-- pages -->
        </div><!-- relative-container -->
    </div><!-- slidding-header-menu -->
    <div id="slidding-about-contact-content">
        <div id="relative-container-about-contact">
            <div id="about-content">
                <p>"ABOUT CONTENT</p>
            </div>      
            <div id="contact-content">
                <p id="tel">CONTACT</p> 
                <p id="email">CONTENT</p>       
                <div id="logo-container">
                    <div id="tumblr"></div>
                    <div id="instagram"></div>
                    <div id="twitter"></div>
                </div><!-- logo-container -->
            </div>
        </div><!-- relative-container-about-contact -->
    </div><!-- slidding-about-contact-content -->
</header>

我的JS:

        jQuery("header").hover(function() {
            jQuery("#slidding-header-menu").slideToggle();
                jQuery("#about").click(function() {
                    jQuery("#slidding-about-contact-content").slideToggle();
                });
        });

1 个答案:

答案 0 :(得分:1)

只是为了给你一个想法:http://jsfiddle.net/S9Gpa/12/,我想你会自己管理它以淡出链接文本。顺便说一句:hover已被弃用。

jQuery("header").mouseenter(function () {
    jQuery("#slidding-header-menu").finish().slideDown();
}).mouseleave(function () {
    jQuery("#slidding-header-menu").finish().slideUp();
    jQuery("#slidding-about-contact-content").finish().slideUp();
});

jQuery("#about").click(function () {
    jQuery("#slidding-about-contact-content").slideToggle();
});