如何将.getElementById()倒计时计时器从javascript脚本多次记录到嵌套在php for循环中的html段落中?

如何将.getElementById()倒计时计时器从javascript脚本多次记录到嵌套在php for循环中的html段落中?,javascript,php,html,Javascript,Php,Html,我想在段落标记中的每个拍卖面板底部输出一个倒计时计时器,其中每个段落标记都有一个唯一的ID。问题是它只适用于for循环中的第一个拍卖面板。例如,数组的大小是3,因此在For循环中输出三个面板,只有第一个面板有倒计时计时器,其他两个没有。我是javascript的新手,所以我不知道为什么会这样 //确定我们倒计时的日期 var countDownDate=新日期(“2019年1月5日15:37:25”).getTime(); //每1秒更新一次倒计时 var x=setInterval(函数(

我想在段落标记中的每个拍卖面板底部输出一个倒计时计时器,其中每个段落标记都有一个唯一的ID。问题是它只适用于for循环中的第一个拍卖面板。例如,数组的大小是3,因此在For循环中输出三个面板,只有第一个面板有倒计时计时器,其他两个没有。我是javascript的新手,所以我不知道为什么会这样


//确定我们倒计时的日期
var countDownDate=新日期(“2019年1月5日15:37:25”).getTime();
//每1秒更新一次倒计时
var x=setInterval(函数(){
//获取今天的日期和时间
var now=new Date().getTime();
//找出现在和倒计时日期之间的距离
var距离=倒计时日期-现在;
//天、小时、分钟和秒的时间计算
变量天数=数学楼层(距离/(1000*60*60*24));
可变小时数=数学楼层((距离%(1000*60*60*24))/(1000*60*60));
var分钟=数学楼层((距离%(1000*60*60))/(1000*60));
var秒=数学楼层((距离%(1000*60))/1000);
//在id=“demo”的元素中输出结果
document.getElementById(“demo_211;”).innerHTML=days+“d”+hours+“h”
+分钟+米+秒+秒;
//如果倒计时结束,写一些文字
如果(距离<0){
净间隔(x);
document.getElementById(“demo”).innerHTML=“过期”;
}
//如果倒计时结束,写一些文字
}, 1000);

我无权访问您的阵列,但请尝试替换:

<p id="demo_<?php$auctionidarray[$i-1]?>"></p>

<p id="demo_<?php echo $i; ?>"></p>
document.getElementById("demo_<?php$auctionidarray[$i-1]?>")...
document.getElementById("demo_<?php echo $i; ?>")...
<script>
var NUM_COUNTERS_TO_DISPLAY = 3;

function displayCounters() {
    var now = new Date().getTime();

    // Find the distance between now and the count down date
    var distance = countDownDate - now;

    ...

    for(var i = 0; i < NUM_COUNTERS_TO_DISPLAY; i++) {
        // If the counter has run out and the counters have been updated
        if(distance <= 0 && x != null) {
            document.getElementById("demo_" + i).innerHTML = "EXPIRED";
        }

        else if(distance > 0) {
            document.getElementById("demo_" + i).innerHTML =
            days + "d " + hours + "h " + minutes + "m " + seconds + "s ";
        }
    }
}

displayCounters(NUM_COUNTERS_TO_DISPLAY); // Show the counters when the page loads

// Update the countdown every second
var x = setInterval(function() {
    displayCounters();
}, 1000);
</script>