1***@sina.cn
1***@sina.cn
  • 发布:2017-05-24 09:45
  • 更新:2017-05-24 09:45
  • 阅读:2307

js setInterval倒计时在ios和android挂起或触发其它操作后,倒计时不准确

分类:MUI

我相信我这个问题大家都碰到过,上网也查了下资料,感觉还是很疑惑。我写的倒计时的js代码是这样的。

var intDiff = parseInt(60000);//倒计时总秒数量  
  
function timer(intDiff){  
  
	window.setInterval(function(){  
  
	var day=0,  
  
		hour=0,  
  
		minute=0,  
  
		second=0;//时间默认值  
		  
		millisecond=0;  
  
	if(intDiff > 0){  
  
		day = Math.floor(intDiff / (60 * 60 * 24*100));  
  
		hour = Math.floor(intDiff / (60 * 60 * 100)) - (day * 24);  
  
		minute = Math.floor(intDiff / (60*100)) - (day * 24 * 60) - (hour * 60);  
  
		second = Math.floor(intDiff/100) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60);  
		  
		millisecond=Math.floor(intDiff)- (day * 24 * 60 * 60*100) - (hour * 60 * 60*100) - (minute * 60*100)-(second*100);  
  
	}  
  
	if (minute <= 9) minute = '0' + minute;  
  
	if (second <= 9) second = '0' + second;  
	  
    if (millisecond<=9)millisecond='0'+millisecond;  
  
	//$('#day_show').html(day+"天");  
  
	//document.getElementById("day_show").innerHTML=day+"天";  
    document.getElementById("daojishi1").innerHTML='<s id="h"></s>'+minute+':'+second+':'+millisecond;  
      
      
  
	intDiff--;  
  
	}, 10);  
  
}   
  
window.onload=function(){  
	timer(intDiff);  
}

这段代码在安卓机上的表现就是你点一下屏幕就卡顿大概0.5秒,根本没办法解决,之后手指再滑动也不影响,ios机子上面的表现是点触不卡顿,但是手指拖动就完全卡住,但是整个dom外面套一个mui-scroll-wrapper,这个问题好像就能改善,没有明显的卡顿,但是可能开了setInterval,不停在消耗内存,还是感觉不流畅,求教大神能给出个最佳的解决方案。谢谢

2017-05-24 09:45 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复