You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

数组输出时新增而非覆盖数据,PHP定时拉取活动信息追加问题排查

问题原因

每次查询接口返回新数据后,你直接调用l.appendChild(s)把新的活动行追加到了表格尾部,没有提前清空上一次查询渲染的旧内容,所以每5分钟就会重复新增一次相同的活动条目,和数组处理逻辑无关。

修复方案

只需要在遍历新数据生成表格行之前,清空表格tbody的原有内容即可,不会影响你原有的5分钟轮询逻辑。

找到代码中的这一行:

var o,a=Math.floor(window.innerHeight/window.innerWidth*9),l=document.getElementById("event-table-body"),c="#000000",r=1/((r=Object.keys(t).length)<=a?r:a),d=0;

在该行下方新增一行清空tbody内容的代码:

l.innerHTML = '';
修改后的完整核心代码段
function init_event(){
$.ajax({
    url:"php/event-query.php",
    data:{activeId:SETTING_DATA.facility},
    success:function(e){
        var t=JSON.parse(e),n=Date.now()/1e3|0;
        if(!SETTING_DATA.show_passed_events)
            for(var i in t)
                t.hasOwnProperty(i)&&n>t[i].time_to&&delete t[i];
        if($.isEmptyObject(t)){
            $("#event-text").css("display","block"),$("#event-table").css("display","none");
        }else{
            $("#event-text").css("display","none"),$("#event-table").css("display","table");
            var o,a=Math.floor(window.innerHeight/window.innerWidth*9),l=document.getElementById("event-table-body"),c="#000000",r=1/((r=Object.keys(t).length)<=a?r:a),d=0;
            // 新增:清空旧的表格内容
            l.innerHTML = '';
            for(o in t)
                if(t.hasOwnProperty(o)){
                    var s=document.createElement("tr"), m=t[o].time_from,u=t[o].time_to,_=document.createElement("td");
                    _.appendChild(document.createTextNode(format_time(m,u))),s.appendChild(_);
                    _=document.createElement("td");
                    if(_.appendChild(document.createTextNode(t[o].name)),s.appendChild(_),s.style.color=c,s.style.color=m<n&&n<u&&SETTING_DATA.highlight_current?"#4da6ff":c,l.appendChild(s),c=shadeColour(c,r*++d/1.5-.1),d==a)break
                }
        }
    }
})
setTimeout(function(){
    init_event()
},3e5)
}

内容的提问来源于stack exchange,提问作者Grammy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 02:57:02