2013-04-11 89 views
0

目前即時通訊使用jQuery向下計數器插件(This Plugin)通過Ajax調用來生成計數器。
現在它的工作正常,沒有問題的單個調用,但是當我試圖生成一個多重計數器整個循環通過Json數組它不起作用。
JS循環通過JSON數組生成多少倒數計時器?

$(document).ready(function(){ 
        $.ajax({ 
         url: 'time.php', 
         async: false, 
         dataType: 'json', 
         success: function(data) { 
          var response = data ; 
          $.each(response, function(i, item) { 
           var time = new Date(item.time) ; 
           $('.timer').append('<li id='+ i +'></li>'); 
           $('#'+i).countdown({ 
           until: time, 
           compact: true, 
           format: 'HMS' 
          }); 
          }); 
         }, 
         error: function(http, message, exc) { 
          time = new Date(); 
        } 
       } 
      ); 


      }) 

PHP

<?php 
    $now = time() + 9999; 
    $now1 = time()+ 5000; 
    $data = array($now,$now1); 
    $json = array(); 
    foreach ($data as $value){ 
     $json[] = array(
      'time' => $value 
    ); 
    } 
    echo json_encode($json); 
?> 

這是JSON輸出

[{"time":1365712506},{"time":1365707507}] 

當我試圖表明瞭循環的結果,而不設置正常工作的時間和顯示正確的結果。
但設置時間和設置倒計時計時器其節目00代替後的反抽

00:00:00 
    00:00:00 
+0

哪個倒計時插件? – mplungjan 2013-04-11 17:56:08

+0

@mplungjan我編輯的問題和鏈接添加..Thx – FouaD 2013-04-11 17:58:36

+0

我猜測日期不會在將來 – mplungjan 2013-04-11 18:07:07

回答

0

您需要使用1000

var time = new Date(item.time*1000); 

乘以日期我也改變了類ID和添加了一封信給LIS的IDS非HTML5瀏覽器

DEMO

$(function(){ 
    var response = [{"time":1365712506},{"time":1365707507}]; 
    $.each(response, function(i, item) { 
    var time = new Date(item.time*1000) ; 
    $('#timer').append('<li id="t'+ i +'"></li>'); 
    $('#t'+i).countdown({ 
     until: time, 
     compact: true, 
     format: 'HMS' 
    }); 
    }); 
}); 
+0

我忘了打印通過php的時間格式我打印它爲int – FouaD 2013-04-11 18:43:02

0

你需要檢查你的日期,我不認爲他們正在進行中。

console.log(time); 

Fiddle

+0

這正是我的意見,布萊斯! – mplungjan 2013-04-11 18:12:08

+0

@mplungjan當你評論時,我一定在做這個例子。對於那個很抱歉。 – Bryce 2013-04-11 18:14:50