js定时显示新标题的问题
我想设置定时自动更换标题的js(如下),但是这个js刷新时间是1000(1秒),呈现的标题在每秒闪烁一下,感觉很是不爽,如果刷新时间改成是10000(10秒),打开速度就延迟10秒了,有影响标题呈现是速度。
请教大神们:能不能将打开设置成1000(1秒),刷新时间设置为标题定时(如:'10:00':'标题二', '14:00':'标题三,)的时间,到设定时间自动刷新到新的标题!
程序代码:
<!--html引用--> <span id="title"></span> <!--标题定时跳转 js---> <script type="text/javascript"> var PlayList={ list:{ '00:00':'标题一', '10:00':'标题二', '14:00':'标题三, }, live:function (it){//开始计时 clearInterval(it.timer);//清除上次计时任务 var date=new Date(this.time).toString();//取得服务器时间字符串 this.db=[]; for(var k in this.list){//转换为数组 this.db.push({ time:new Date(date.replace(/\d+:\d+(:\d+)/,k+'$1')),//转换为标准时间 title:this.list[k] }) } this.db.sort(function (a,b){//排序节目表 return a.time-b.time }); it.timer=setInterval(function() {//频发计时 it.time+=1000; var cur,next,find; for (var i = 0, j = it.db.length; i < j; i++) {//查找当前节目 var o=it.db; if (o.time>it.time) {find=true;break}//如果有一个节目时间大于当前时间,即找到下一个节目 } if(!find)i=0;//如果没有节目比现在时间大,意味着在音乐时间 next=it.db.title;//取得下一个节目标题 cur=i>0?it.db[i-1].title:'暂无标题显示';//取得当前节目标题 it.onInterval(new Date(it.time),cur,next) },1000); setTimeout(function() { it.index() },1000*60*10);//10分钟后校验服务器时间 }, index:function (){//初始化 this.update(function (time){ this.time=time; this.live(this) },this) }, update:function (end,context){//取得服务器时间 var o = !-[1,] ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest; o.open('HEAD', '/', true); o.onreadystatechange=function (){ if (o.readyState==4 && o.status==200) end.call(context,Date.parse(o.getResponseHeader('Date'))) } o.send(null) }, onInterval:Function()//间隔事件 }; PlayList.index(); PlayList.onInterval=function (now,cur,next){ document.getElementById('title').innerHTML=cur }; </script>