Javascript 在标记传单地图的弹出窗口中插入多个倒计时

Javascript 在标记传单地图的弹出窗口中插入多个倒计时,javascript,html,json,leaflet,countdown,Javascript,Html,Json,Leaflet,Countdown,我的目标是在每个弹出标记上显示基于Json(obj.time)的倒计时。 必须在 如果我为所有的插入一个倒计时,则该值正在工作,但不具有多个值 我试图将obj[I].id连接到id='demo'以使每个倒计时都有多个id 像这样 然后我用同样的方法处理了这个问题 document.getElementById(“demo”+obj[i].id).innerHTML=hours+“h”+minutes+“m”+seconds+“s” 我收到的错误是uncaughttypeerror:无法读取未定义

我的目标是在每个弹出标记上显示基于Json(obj.time)的倒计时。 必须在
如果我为所有的
插入一个倒计时,则该值正在工作,但不具有多个值

我试图将obj[I].id连接到id='demo'以使每个倒计时都有多个id 像这样
然后我用同样的方法处理了这个问题
document.getElementById(“demo”+obj[i].id).innerHTML=hours+“h”+minutes+“m”+seconds+“s”

我收到的错误是
uncaughttypeerror:无法读取未定义的at(index):215的属性“id”


这是我的项目

您必须在间隔函数中添加一个新循环:

var x = setInterval(function() {
  for(var i = 0; i < obj.length; i++){
     if(document.getElementById("demo"+obj[i].id)){
        // Get today's date and time
        var now = new Date().getTime();

        // Find the distance between now and the count down date
        var distance = new Date(obj[i].time).getTime() - now;

        // If the count down is finished, write some text and continue loop
        if (distance < 0) {
            document.getElementById("demo"+obj[i].id).innerHTML = "EXPIRED";
            continue;
        }
        // Time calculations for days, hours, minutes and seconds
        var days = Math.floor(distance / (1000 * 60 * 60 * 24));
        var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
        var seconds = Math.floor((distance % (1000 * 60)) / 1000);

        // Display the result in the element with id="demo"
        document.getElementById("demo"+obj[i].id).innerHTML = hours + "h "+ minutes + "m " + seconds + "s ";

      }
    }
}, 200);
var x=setInterval(函数(){
对于(变量i=0;i
此外,您还可以将间隔设置得更快,如果打开弹出窗口,则计时器显示得更快