jQuery持续时间方法

时间:2011-12-04 12:04:07

标签: javascript jquery callback

目前我正在开发一个jQuery插件。在一些jQuery函数中,您可以传递持续时间(例如'500ms''1s''fast')参数。

我想jQuery中有一个函数可以削减该值并以ms为单位返回一个值? (所以1s将返回1000或其他内容)。

这是哪种方法,是否可以在我自己的插件中使用它?所以我可以在'1s''fast'之后像animate当前那样的其他方法发出回调。

3 个答案:

答案 0 :(得分:3)

您随时可以查看source code。在那里,您可以看到.animate()调用使用jQuery.speed的方法jQuery.fx.speeds

speeds: {
    slow: 600,
    fast: 200,
    // Default speed
    _default: 400
},

jQuery.speed似乎在这方面很有用,但我没有看到任何将'1s'转换为1000的代码。你确定jQuery正在这样做吗?

答案 1 :(得分:2)

让我们来看看jquery来源:

speeds: {
    slow: 600,
    fast: 200,
    // Default speed
    _default: 400
},

那么,慢fadeOut怎么样?让我们再看看源头。看起来'fadeOut'只是自定义动画的快捷方式。 jQuery有一个很好的通用逻辑块,用于此目的。在这里粘贴整个来源没有意义:)你可以轻松地去你的项目看看你的自我。

答案 2 :(得分:1)

您可以在自己的

上轻松实现这一点
function ms(s){
  return parseInt(s) *1000;
}

alert(ms("20s"));  #=> 20000

除此之外,使用1000'1s'相比并不会带来任何不便。整数具有额外的好处,因为它更容易使用简单的算法以编程方式进行修改。