循环加载javascript函数


Looping a javascript function onload

我想在PHP while循环中根据需要多次调用Javascript。我正试图找出在加载时调用函数的多个实例的正确方法。

这是代码:

<script>
    var interval;
    var minutes = 1;
    var seconds = 10;
    var nbcounters = '<?php echo $nbcounters ;?>'
    window.onload = function() {
        for (i = 0; i < nbcounters; i++) {
            countdown('c'.'<?php echo $value ;?>');
        }
     }

     function countdown(element) {
        interval = setInterval(function() {
            var el = document.getElementById(element);
            if(seconds == 0) {
                if(minutes == 0) {
                location.reload(true);
                 } else {
                    minutes--;
                    seconds = 60;
                }
             }
            if(minutes > 0) {
                var minute_text = minutes + (minutes > 1 ? ' min(s)' : ' min');
                var secound_text = '';
                el.innerHTML = 'Ready in ' + minute_text;
            } else {
                 var minute_text = '';
                var second_text = seconds + (seconds > 1 ? ' sec(s)' : ' sec');
                el.innerHTML = 'Ready in ' + second_text;
             }
             seconds--;
         }, 1000);
     }
  </script>
 <?php
 $nbcounters = 5;
 $value = 0;
 while ($value < $nbcounters) {
    echo "<div id='c$value'></div><br>";
    $value++;
 }
 ?>

混合使用php循环和js循环的时间。基本上使用php循环生成对js函数的N调用,如下所示:

window.onload = function() {
    <?php
    for ($i = 0; $i < $nbcounters; $i++) {
        echo "countdown('c".<?php echo $i ;?>."');";
    }
    ?>
 }

这将导致类似html的:

window.onload = function() {
    countdown('c0');
    countdown('c1');
    countdown('c2');
    countdown('c3');
    countdown('c4');
}

但一定要在循环之前先设置php参数。