发布时间:2025-12-10 19:17:41 浏览次数:6
页面多个setInterval「建议收藏」页面多个setInterval业务需求代码实现
<p> <button data-livetime="2017/04/21 19:30:00" data-liveend="2017/04/21 20:30:00"><span ></span> 倒计时: <span >3</span>天 <span >02</span>时 <span >54</span>分 <!--<span >00</span>秒--> </button> </p> </p><p > 下一堂直播倒计时: <span >00</span>天 <span >00</span>时 <span >00</span>分 <!--<button>进入直播</button>--></p> 是否还在为Ide开发工具频繁失效而烦恼,来吧关注以下公众号获取最新激活方式。亲测可用!
【正版授权,激活自己账号】:Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】:官方授权 正版激活 自己使用,支持Jetbrains家族下所有IDE…
function countDown(item,callback,endFun) { var timer = null; var time = $(item).attr('data-liveTime'); var end_time = new Date(time).getTime();//月份是实际月份-1 var sys_second = (end_time - new Date().getTime()) / 1000; function doCount() { var data ={}; if (sys_second > 1) { sys_second -= 1; data.day = Math.floor((sys_second / 3600) / 24); data.hour = Math.floor((sys_second / 3600) % 24); data.minute = Math.floor((sys_second / 60) % 60); data.second = Math.floor(sys_second % 60); callback.call(item,data); } else { clearInterval(timer); if (endFun) endFun(); } } timer = setInterval(doCount,1000); doCount(); } function setTime(d){ var _this = $(this); _this.find('.day').text(d.day);//计算天 _this.find('.hour').text(d.hour < 10 ? "0" + d.hour : d.hour);//计算小时 _this.find('.minute').text(d.minute < 10 ? "0" + d.minute : d.minute);//计算分钟// _this.find('.second').text(d.second < 10 ? "0" + d.second : d.second);//计算秒 } $(function(){ var currentLive = $('.zbBtn').eq(0);//页脚显示下一堂直播的倒计时 $('.footer').attr('data-liveTime',$(currentLive).attr('data-liveTime'));//设置页脚倒计时 $('.zbBtn').each(function(index, item){ countDown.call(item,item,setTime,function(){ //开始倒计时 var endTime = $(item).attr('data-liveEnd');//获取直播结束的时间 var end_live_time = new Date(endTime).getTime(); var deta = (end_live_time - new Date().getTime()) / 1000; if(deta >=0){ // 倒计时结束,直播开始 $(item).empty(); $(item).append('<span>正在直播</span>'); }else{ //直播结束 $(item).empty(); $(item).append('<span>直播结束</span>'); if(index == 0){ //第一场直播结束,currenLive 为第二场直播 currentLive = $('.zbBtn').eq(1); $('.footer').attr('data-liveTime',$(currentLive).attr('data-liveTime'));//更新页脚倒计时,为第二场直播的倒计时 } if(index == 1){ $('.footer').remove();//两场直播都结束了,页脚移除 } } }) }); $('.footer').each(function(index, item){ countDown.call(item,item,setTime,function(){ $(item).empty(); $(item).append('<button>进入直播</button>'); }) }) }); 参考链接:一个页面多个倒计时 js