标题:js定时显示新标题的问题
取消只看楼主
GuanlinSir
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-10-9
 问题点数:0 回复次数:0 
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>
搜索更多相关主题的帖子: this 标题 时间 time function 
2021-10-09 11:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507083-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026863 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved