2014-10-26 143 views
0

美好的一天, 我發現了一個適合我需要的甜美的小javascript,但我想在同一頁面上多次調用這個函數。我的理解是,每次調用函數都需要用一個唯一的id來定義。Javascript函數裏面調用循環

我會把這在一個循環中這樣結束​​這樣

<td><div id='countdown$i'></div></td> 

這裏是環

$i=0; 
    if(mysqli_num_rows($result) > 0){ 
     if ($time < $endtime) { 
     echo "<script> 
     var interval; 
     var minutes = 1; 
     var seconds = 10; 
     window.onload = function() { 
      countdown('countdown'); 
     } 

     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>"; 
     echo "<td width='200'><div id='countdown$i'></div></td>"; 
     $i++; 
    } 

什麼/我應該在哪裏修改腳本以repond至$倒計時嗎?

謝謝

+4

不,**不要**將函數放在PHP循環中並輸出多次,只要使它獨立於DOM並根據需要多次調用即可。 – adeneo 2014-10-26 15:41:37

+0

@adeneo 感謝您的快速回復。 我刪除了COM的功能,並添加它的標題。現在當調用循環中的函數時,只有最後一次迭代纔會給出結果。 我應該看什麼?我還應該這樣稱呼嗎? ID = '倒計時$我' – Matthr0X 2014-10-26 17:13:41

回答

0

不知道你爲什麼這樣做,不過,這應該修復你的代碼。

window.onload = function() { 
     countdown('countdown".$i."'); 
    }