jQuery .animate() 不响应毫秒设置

Posted

技术标签:

【中文标题】jQuery .animate() 不响应毫秒设置【英文标题】:jQuery .animate() not responding to millisecond settings [closed] 【发布时间】:2014-09-10 20:42:11 【问题描述】:

我正在使用 jQuery 的 .animate() 来移动一个 div,我们需要它走得更慢。似乎慢速、默认和快速设置的预设值分别为 200、400 和 600 毫秒,但文档指出它也可以设置为特定数量。我需要动画至少需要 1000 毫秒,可能更多。但是,当设置“1000”或“1000ms”时,它似乎以默认速度运行。

这是我使用的函数调用:

  $("#welcome_popup").animate (
    
    "top": "0px",
    "left": "590px",
    "right": "150px",
    "font-size": "13pt",
    "padding": "7px",
    "boxShadow": "6px 6px 5px rgba(0, 0, 0, .2)"
    , "800");

我已经在其他地方尝试过,得到了相同的结果。这是一个来自网络的例子:

http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_animation2

在 W3 School 自己的示例中,我似乎无法将动画速度设置为这三个值以外的任何值。有其他人这样做过吗?

【问题讨论】:

不要加引号....animate(left:'100px',2500); 显示一些你已经尝试过的代码 它的运行速度比默认的 400 慢,如下所述:api.jquery.com/animate 我不明白为什么我的问题被否决了。但是,是的,数字周围的引号似乎导致了问题。 我看到这被列为离题,但正如通知所述,我并没有要求“调试帮助”。我在询问函数的正常预期行为,并交叉检查我是否正确使用它。 【参考方案1】:

根据DOCS

持续时间(默认值:400) 类型:数字或字符串 字符串或数字 确定动画将运行多长时间。

在 jQuery 中使用 数字 时,它们不像字符串那样是引号。

示例

$( "#clickme" ).click(function() 
  $( "#book" ).animate(
    opacity: 0.25,
    left: "+=50",
    height: "toggle"
  , 5000, function() 
    // Animation complete.
  );
);

JSIFDDLE

【讨论】:

以上是关于jQuery .animate() 不响应毫秒设置的主要内容,如果未能解决你的问题,请参考以下文章

jQuery效果——动画

jQuery animate()动画效果

jQuery--自定义动画animate()

Javascript/JQuery .animate() 不工作

解析jQuery效果函数animate()

jQuery动画animate()的使用