javascript - 将 jQuery 的 CSS 计时转换为 ms

标签 javascript css regex

当在 CSS 中询问 jQuery 持续时间时,它以秒为单位返回这个值,例如1.2 秒。示例 here .

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]);

两个问题:

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

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

propDel.replace(/(\s|.)/g,"").split(",")

但是我该如何制定这样的条件:

if  string contains dot
     ADD 00
if  string does NOT contain dot
     ADD 000

请回复1和2。

最佳答案

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

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

关于javascript - 将 jQuery 的 CSS 计时转换为 ms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30439694/

相关文章:

javascript - Javascript 中的经典字数统计算法

javascript - jQuery "keyup"检查 'Word Count' 时页面崩溃

CSS3 媒体查询似乎不起作用

javascript - CSS Transitions 有时会滞后

JavaScript:如何使用正则表达式从 URL 中提取字符串

R中的正则表达式选择以新行结尾的句子

javascript - 如何获取 AngularJS 中可用模块的列表?

html - font-awesome 上的工具提示悬停状态

c# - 正则表达式年龄验证

javascript - Rails 4、验证码和 Turbolink