inst 在倒计时时未定义

inst is undefined on countdown

我正在使用这个很棒的插件:http://keith-wood.name/countdown.html

我有 3 个倒数计时器,它们加载了一个 json 数组。当我想给它们充电时,它们会阻塞并出现此错误:

类型错误:inst.options 是 undefinedjquery.countdown.js:682:1 jQuery 4 _generateHTML _update倒计时 _updateElems timerCallBack

这里是我在 ajax 加载后首次加载的代码(处于成功状态)(重新生成 x 秒):

var timer = [];
$.each(json.element, function (index, value) {                  
    if($.isNumeric(json.regen[i])){ 
        var timer = json.regen[i];
        var stat = json.stat[i];
        //Creating the countdown for each element
        $("#under_"+value).html('+1 in <span id="countdown_'+json.element[i]+'"></span>');
        //initialize countdown and loop it at the end.
        $('#countdown_'+json.element[i]).countdown({until: timer, compact: true, format: 'MS', onExpiry: function() {
            getattribute(stat);
            }
        });
    };
    i++;
});

当我点击按钮刷新那些倒计时时出现错误... 我该如何解决?

代码笔在这里:https://codepen.io/Logobi/pen/KKdmNby

感谢

看起来不错,我必须在重新初始化之前检查倒计时。如果倒计时没有结束,我就放下它,如果倒计时结束,我就重新加载getattribute。

let oCountdown = $('#countdown_'+[i]+'_'+element[i]);
  if(oCountdown.length>0){
    oCountdown.countdown('option', "until", timer);
  }else{
    $("#under_"+elemval).html('+1 in <span id="countdown_'+[i]+'_'+element[i]+'"></span>');
    $('#countdown_'+[i]+'_'+element[i]).countdown(
      {
        until: timer,
        format: 'MS',
        compact: true,   
        onExpiry:function() {
          getattribute();
        }
      }
    );// format ii:ss
  }

这里是 codepen 中的解决方案: https://codepen.io/Zonecss/pen/jObmdBM