最近在开发跨平台的应用,在做秒杀功能时,倒计时出现了问题。默认在Chrome浏览器中运行,倒计时没出现问题。而在IE浏览器,火狐浏览器,safari浏览器上运行时,则显示NaN天NaN时NaN分(或显示天时分)。上网查了好多日期转换的函数都没有解决问题。 在浏览器断点调试下发现curTime,endTime,dDate的值显示为NaN。大体查了一下NaN. NaN 相关链接 http://www.w3school.com.cn/jsref/jsref_nan_number.asp NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。 仅仅修改了一行代码: 将var dDate = new Date(Date.parse(sDate)); 改为var dDate = new Date(Date.parse(sDate.replace(/-/g,"/"))); js中 replace(/-/g, '/') 什么作用. /-/g 是正则表达式 表示将所有短横线-替换为斜杠/,其中g表示全局替换 /g意思就是:global可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换行中第一个匹配串。如:we.fdffddfwe.加上/g后,则2个we都会出来;
js倒计时,显示NaN天NaN时NaN分(或显示天时分)
最新推荐文章于 2023-06-26 16:23:59 发布