目前我正在开发一个jQuery插件。在一些jQuery函数中,您可以传递持续时间(例如'500ms'
,'1s'
,'fast'
)参数。
我想jQuery中有一个函数可以削减该值并以ms为单位返回一个值? (所以1s
将返回1000
或其他内容)。
这是哪种方法,是否可以在我自己的插件中使用它?所以我可以在'1s'
或'fast'
之后像animate当前那样的其他方法发出回调。
答案 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'
相比并不会带来任何不便。整数具有额外的好处,因为它更容易使用简单的算法以编程方式进行修改。