2011-07-20 15 views
0

イベントのカウントダウンを作成しようとしています。私はこのコードを持っているJquery CountdownJquery Countdown Server同期の問題

を使用しています:

$(function() { 
    var fecha = new Date("July 30, 2011 00:00:00"); 
    $('#defaultCountdown').countdown({ 
     until: fecha, 
     format: 'DHMS', 
     expiryUrl: "http://www.google.com", 
     serverSync: serverTime, 
     timezone: -4 
    }); 


}); 


function serverTime() { 
    var time = null; 
    $.ajax({ 
     url: 'serverTime.php', 
     async: false, 
     dataType: 'text', 
     success: function (text) { 
      time = new Date(text); 
     }, 
     error: function (http, message, exc) { 
      time = new Date(); 
     } 
    }); 
    return time; 
} 

スクリプトが正常に動作しているが、私はクロック、日付、カウントダウンの変更を変更しようとします。 理由は何ですか?

+0

時刻を変更できますか? –

+0

問題は、成功のコールバックのエラーから来ていると思われます。サーバはバリュー日付を提供していないので、JSの新しいDate()に戻ります。これはクライアント側の関数なので、明らかにあなたの時計に基づいています。 – Cystack

答えて

1

サーバー上にserverTime.phpファイルを作成したと思いますか? http://keith-wood.name/countdown.html Tab Timezoneには、スクリプトを使用するためにserverTime.phpに追加する必要があるPHPコードがあります。また、完全にそれをURLのようなものに修飾したいと思うかもしれません: 'http:yourdomain.com/serverTime.php'しかし、あなたのローカルPC時間ではなくあなたのサーバ時間を使うべきです。あなたのサーバがあなたのローカルPCにあれば、まあ...それは変わるでしょう。

+0

はい私のサーバー上でserverTime.phpを使用しています – user854866

+0

@ Ryan Doom:http://keith-wood.name/countdown.htmlにアクセスしてください。 fromdateを取得しているJS:CLIENT_PC_DATEが問題です。 – errakeshpd

0

私は自分のサイトに行ったので、私のシステムの時間を変更するとカウントダウンにも影響します。そのコードはローカルシステム時間に依存します。

0

サーバー時刻をajax呼び出しから取得すると、JavaScriptの日付オブジェクトが作成されません。

私は検索し、私の下で働いた。

// Split timestamp into [ Y, M, D, h, m, s ] 
var t = "2010-06-09 13:12:01".split(/[- :]/); 

// Apply each element to the Date function 
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]); 

alert(d); 
// -> Wed Jun 09 2010 13:12:01 GMT+0100 (GMT Daylight Time)