jQuery.animate - 动画真的非常快

Posted

技术标签:

【中文标题】jQuery.animate - 动画真的非常快【英文标题】:jQuery.animate - animating really really fast 【发布时间】:2011-05-11 12:21:42 【问题描述】:
jQuery('.slide').css('opacity','1').animate(

            opacity: 0
        , 
            duration: 9999,
            complete: function() 
                this.moveSlideAcross(); // animates a slide across the screen
            
        );

我已将持续时间设置为 9999,它的动画效果非常非常快。有什么办法可以减慢速度吗?

【问题讨论】:

jsfiddle? 脚本很长。我无法让它工作。我再试一次 【参考方案1】:

我认为存在语法错误。试试这个:

$('.slide').css('opacity','1').animate(
  
    opacity: 0,
    left: 0, //your left pos
    top: 0 // your top pos
  ,
  9999,
  function() 
    //completion code
  
);

在与 opacity 相同的声明中使用 top/left 以确保您不会离开动画的范围。

【讨论】:

语法错误在哪里?您的回答实际上引入了一个 IE 问题,因为您在 top: 0 之后添加了一个尾随逗号。 错过了。固定的。谢谢。我想我的意思不是语法错误,而是逻辑错误。他有他的动画功能在动画之后运行,这只是改变了不透明度。【参考方案2】:

删除第二组大括号。

jQuery('.slide').css('opacity','1').animate(
    
        opacity: 0
    ,
    9999,
    function() 
        this.moveSlideAcross(); // animates a slide across the screen
    
);

编辑:我很抱歉,因为这不起作用。我不认为我理解 jquery 以及我 应该。当我更好地理解时,我会更多地研究它并修复这个答案。

edit2:实际上这确实有效 :) 干杯!

【讨论】:

他的方法应该有效,实际上...见this page。阅读该文档后,我不知道为什么它不起作用。 从animate API reference 可以看出,这些方法签名是可以互换的。如果您对自己的回答不满意,可以将其删除。

以上是关于jQuery.animate - 动画真的非常快的主要内容,如果未能解决你的问题,请参考以下文章

jquery animate方法动画效果没有

jquery animate 怎么延迟执行

快速悬停时jQuery animate()序列乱序

jQuery 效果 - 动画

jQuery + Animate.css 动画只工作一次,动画不重置

jquery .animate() 没有动画