首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery动画跳动

jQuery动画跳动
EN

Stack Overflow用户
提问于 2013-04-16 03:59:08
回答 2查看 54关注 0票数 0

我经常遇到这个问题,最后会出现动画跳跃或卡顿。有没有解决这个问题的通用方法?

这是动画的动作,最后是卡顿,http://jsfiddle.net/MqVcb/

单击菜单中的“向下滑动项”链接可查看卡顿。

这是jQuery代码,

代码语言:javascript
复制
var menu_ul = $('.left-sidebar-nav > li > ul'),
    menu_a  = $('.left-sidebar-nav > li > a');

menu_ul.hide();

menu_a.click(function(e) {
    e.preventDefault();

    if(!$(this).hasClass('active')) {
        menu_a.removeClass('active');
        menu_ul.filter(':visible').slideUp('normal');
        $(this).addClass('active').next().stop(true,true).slideDown('normal');
    } else {
        $(this).removeClass('active');
        $(this).next().stop(true,true).slideUp('normal');
    }

});

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-16 04:02:20

css

代码语言:javascript
复制
.left-sidebar-nav li {
    margin-bottom: 8px;
}

是什么让事情变得一团糟。

删除它,您将看不到效果。

fiddle

要维护margin,只需使用margin-top: 10px

这是新的fiddle

如果您不想要第一个元素上的边距,

代码语言:javascript
复制
.left-sidebar-nav li:first-child {
    margin-top: 0;
}
票数 1
EN

Stack Overflow用户

发布于 2016-04-20 22:01:35

只需在li的css中包含overflow: hidden;

代码语言:javascript
复制
li {
  overflow:hidden;
}

通常,跳转与jquery在slideUp slideDown动画中没有考虑到的溢出页边距和填充有关。

更新的jsfiddle:http://jsfiddle.net/MqVcb/3/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16023762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档