js倒计时功能代码
var model ={
TimeDown: function(id,endDateStr) {
//将-转换成/,避免ios显示NaN
endDateStr= endDateStr.replace(/-/g,"/");
//结束时间
var endDate= new Date(endDateStr);
//当前时间
var nowDate= new Date();
//相差的总秒数
var totalSeconds= parseInt((endDate- nowDate)/ 1000);
//天数
var days= Math.floor(totalSeconds/ (60 * 60 * 24));
//取模(余数)
var modulo= totalSeconds% (60 * 60 * 24);
//小时数
var hours= Math.floor(modulo/ (60 * 60));
modulo= modulo% (60 * 60);
//转化天数为小时数
var hh= (days* 24 + hours)>= 10 ? (days* 24 + hours): '0' + (days* 24 + hours);
//分钟
var minutes= (Math.floor(modulo/ 60))>= 10 ? Math.floor(modulo/ 60): '0' + (Math.floor(modulo/ 60));
//秒
var seconds= (modulo% 60)>= 10 ? modulo% 60 : '0' + (modulo% 60);
//输出到页面
document.getElementById(id).innerHTML = '倒计时:'+hh+'小时'+minutes+'分钟'+seconds+'秒';
//延迟一秒执行自己
setTimeout(function() {
model.TimeDown(id, endDateStr);//id是输出页面的容器ID,endDateStr是倒计时结束时间
},1000)
}
}
特别注意:endDateStr= endDateStr.replace(/-/g,"/");
这个正则是将2019-11-06格式的时间转换为2019/11/06格式,因为在ios中2019-11-06格式的时间无法识别,将会出现NaN的尴尬场景