js每天切换一张图片

代码是从今天开始到28号,每天切换一张图,我改了系统时间,观察的时候发现并不是准时(00:00:00)切换的,而是过了几十秒后才切换图片(每次超过的时间不定)。是哪里有问题?

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body>

<img id="img-djs">
<script>

window.onload = function(){
    show();
}

function show()
{
    var endtime = new Date("2016/12/28");//结束时间
    var nowtime = new Date();
    var day = endtime.getDate()-nowtime.getDate(); 
    if(day<0)
        day=0;
    document.getElementById("img-djs").src="images/"+day+".png";    
    setTimeout("show()",1000);
}



</script>

</body>
</html>
阅读 2.6k
1 个回答

这段代码逻辑貌似没什么问题,感觉有可能是你一直在重复加载图片导致一直在io增加了开销?你的代码可以改一下,不要让他一直去check了,一步到位岂不美哉?

function show()
{
  var endTime = new Date("2016/12/28");//结束时间
  var nowTime = new Date();
  var day = endTime.getDate()-nowTime.getDate();
document.getElementById("img-djs").src="images/"+day+".png";
  //直接算出离一天结束还有多久
  var timeout = (endTime.getTime()-nowTime.getTime())%(1000*60*60*24);
  setTimeout(function(){
    
    show();
  },timeout);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题