javascript - jQuery 下拉菜单动画

标签 javascript jquery css animation drop-down-menu

我有典型的子菜单结构:

<ul>
  <li>
    <a href="#">Parent link</a>
    <ul>
      <li><a href="#">Submenu link</a></li>
    </ul>
  </li>
</ul>

在 design/html 模型中,我会使用 CSS3 过渡来为子菜单设置动画,但从 pointer-events: none 开始不是 display: none 的实用替代方案,此方法不适用于实时网站。

我认为 jQuery 将是创建我想要的跨浏览器动画的唯一方法。当家长<li>悬停时,我希望子菜单的不透明度从 0 变为 100,但也随着边距变化而上升。

我知道这听起来很令人困惑,但这是我正在寻找的基本版本:http://jsfiddle.net/jwq5R/ (仅在支持 pointer-events 和 CSS3 转换的浏览器中正常工作)但仅适用于使用 jQuery 完成的动画。

我进行了研究,但到目前为止我还没有任何办法来达到我想要的效果。

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

试试这个:

http://jsfiddle.net/jwq5R/1/

$(function(){
    $('#nav>li').hover(function() {
        $(this).closest('li').find('>ul').css({
            'opacity': 0,
            'margin-top': 15
        }).show().animate({
            'margin-top': 0,
            'opacity': 1
        }, 300);
    }, function() {
        $(this).closest('li').find('>ul').fadeOut(200, function() {
            $(this).hide();
        });
    });
});

关于javascript - jQuery 下拉菜单动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7697256/

相关文章:

javascript - 警报脚本 : Cannot set property 'action' of undefined

javascript - Laravel Mix 中的自定义 less-loader

javascript - 根据用户所在的页面更改 div 中的文本

php - jquery动态url

html - 更改我的 HTML Eventbrite 按钮的颜色和大小

javascript - Protractor browser.executeScript 抛出 'SyntaxError: missing ) after argument list' 异常

javascript - 从头开始编码 JS Underscore _.extend

css - 在下拉菜单选项上添加滚动条

javascript - jquery:切换 child onclick

jquery - 使用 codeigniter 在 javascript 中引用 CSS 背景图像