代码之家  ›  专栏  ›  技术社区  ›  googletorp

jQuery,如何制作同步动画?

  •  3
  • googletorp  · 技术社区  · 16 年前

    我有一个类似这样的页面布局

    |    image    ||    image    ||    image    |
    

    |     image-hover     ||  image  ||  image  |
    

    |  image  ||     image-hover     ||   mage  |
    

    |  image  ||  image  ||     image-hover     |
    

    .animate({width: width}, speed)

    我试过调整速度,但对闪烁没有帮助,而且我也没有看到整体动画有什么改进。

    如果有什么区别的话,我用的是 divs 具有 background-image overflow: hidden; 裹在 li 标签。我两个都做了 div 更宽(最宽) 标签还包含一些文本。)

    实际问题是:
    有没有可能使动画同步,使他们发生在同一时间又好又顺利?

    $(this).animate({width: 450}, 495)
        .parent("li").animate({width: 450}, 495)
        .next("li").animate({width: 225}, 500)
        .find(".class").animate({width: 225}, 500)
        .parent("li").next("li").animate({width: 225}, 500)
        .find(".class").animate({width: 225}, 500);
    

    2 回复  |  直到 16 年前
        1
  •  3
  •   Sarfraz    16 年前

    queue buildup 有问题。尝试使用 stop 方法 animiate

    $(...).stop().animate({width: width}, speed)
    

    更多信息:

    http://www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup

    至于平滑动画,你可以选择 jQuery Easing Plugin .

        2
  •  1
  •   Adam Lukaszczyk    16 年前

    在动画的中间 总宽度约为3像素更细 比它应该做的还要多。

    尝试将“松弛”设置为“线性”。

    推荐文章