将 jQuery 的 CSS 计时转换为毫秒

Bra*_*roy 0 javascript css regex

当在 CSS 中询问 jQuery 的持续时间时,它会以秒为单位返回该值,例如1.2s。例子在这里

var d = $("div"),
    propDur = d.css("animation-duration"),
    propDurArr = propDur.replace(" ","").split(","),
    propDel = d.css("animation-delay"),
    propDelArr = propDel.replace(" ","").split(",");

console.log(propDurArr[propDurArr.length - 1]);
console.log(propDelArr[propDelArr.length - 1]);
Run Code Online (Sandbox Code Playgroud)

对此有两个问题:

  1. 这是跨浏览器吗?jQuery(或者更好:浏览器)是否总是以秒为单位返回值,或者某些浏览器更喜欢毫秒表示?
  2. 如何将 jQuery/JS 中的值转换为 ms(不带ms)?例如:1.2s-> 1200

因为2.您可以轻松删除点,如下所示:

propDel.replace(/(\s|.)/g,"").split(",")
Run Code Online (Sandbox Code Playgroud)

但我如何提出这样的条件:

if  string contains dot
     ADD 00
if  string does NOT contain dot
     ADD 000
Run Code Online (Sandbox Code Playgroud)

请回复1和2。

Bra*_*roy 5

我决定采纳 @RobG 的评论,他尚未将其作为答案发布,所以就这样吧。非常简单有效:

function toMS(s) {
    return parseFloat(s) * (/\ds$/.test(s) ? 1000 : 1);
}
Run Code Online (Sandbox Code Playgroud)