ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
相关代码如下: ``` /* 倒计时功能 start */ // 定义一个总毫秒数,以一分钟为例。TODO,传入一个时间点,转换成总毫秒数; var total_micro_second; // 毫秒级倒计时 function countDown(that,callback) { // 渲染倒计时时钟 document.getElementById('clock').innerHTML = date_format(total_micro_second); if (total_micro_second <= 0) { document.getElementById('clock').innerHTML = '已经截止'; // timeout则跳出递归 // auctionResult(auctionId); callback(); return; } setTimeout(function() { // 放在最后-- total_micro_second -= 10; countDown(that,callback); }, 10) } // 时间格式化输出,如03:25:19 86。每10ms都会调用一次 function date_format(micro_second) { // 秒数 var second = Math.floor(micro_second / 1000); // 小时位 var hr = Math.floor(second / 3600); // 分钟位 var min = fill_zero_prefix(Math.floor((second - hr * 3600) / 60)); // 秒位 var sec = fill_zero_prefix((second - hr * 3600 - min * 60)); // equal to => var sec = second % 60; // 毫秒位,保留2位 var micro_sec = fill_zero_prefix(Math.floor((micro_second % 1000) / 10)); return hr + "时: " + min + "分: " + sec + "秒 " + micro_sec; } // 位数不足补零 function fill_zero_prefix(num) { return num < 10 ? "0" + num : num } /** * [RemainingTime 计算时间差] * @param {[type]} endDate [结束时间的秒级时间戳] */ function RemainingTime(endDate){ var nowDate = new Date(); //当前时间 var endDate = endDate * 1000; //变成毫秒级结束时间 // 时间差的毫秒数 var date3 = new Date(endDate).getTime() - nowDate.getTime();//时间差的毫秒数 //计算出相差天数 var days=Math.floor(date3/(24*3600*1000)) //计算出小时数 var leave1=date3%(24*3600*1000) //计算天数后剩余的毫秒数 var hours=Math.floor(leave1/(3600*1000)) //计算相差分钟数 var leave2=leave1%(3600*1000) //计算小时数后剩余的毫秒数 var minutes=Math.floor(leave2/(60*1000)) //计算相差秒数 var leave3=leave2%(60*1000) //计算分钟数后剩余的毫秒数 var seconds=Math.round(leave3/1000) // console.log(" 相差 "+days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒") total_micro_second = (hours * 60 * 60 + minutes * 60 + seconds) * 1000; //剩余毫秒数 } /*倒计时功能 end */ ```