0

私はこれをずっと長い間遊んでいて、本当に先に進む必要があるので、助けを求めたほうがいいと思いました:)私はjqueryに非常に慣れていません

キースウッドのカウントダウンタイマーを表示していますが、時刻が間違っており、将来の日付は3日先ですが、217224日です。日付はmysqlDATETIMEです。2012-11-15 07:00:30

http://keith-wood.name/countdown.html

日、時、分、秒だけを表示する必要がありますが、Yを削除すると、何も表示されません。これが私のコードです、私はどんな助けでもとても素晴らしいでしょう!

$(function () {
    var austDay = new Date(<?php
    $time = strtotime($row['auto_accept']);
    echo date('Y', $time);
    echo date('m', $time);
    echo date('d', $time-1);
    echo date('H', $time);
    echo date('i', $time);
    echo date('s', $time);?>);
    $('#countdown').countdown({until: austDay, format: 'dHMS'});
});

OK私はそれを使って動作しているようです:

$(function () {
var austDay = new Date(<?php
    $endtime = strtotime($row['auto_accept']);
    echo date('Y,m,', $endtime);
    echo (date('j', $endtime)-30);
    echo date(',h,i,s', $endtime);
?>);

$('#countdown').countdown({until: austDay, format: 'dHMS'});
});

Tomalakが言ったように、コードをもう少し最適化する必要があります。マニュアルを確認します;)

4

1 に答える 1

2

まず、PHPの日付関数の使用方法を読み、日付を一度に取得する方法を理解します。これには10分または15分しかかからず、日付を何度も呼び出す必要がない理由がすぐにわかります(そして、将来の時間を節約し、私がどのようにしたかを以下に示します)。

次に、Ajax呼び出しを使用してPHPからJavascriptに値を取得するのがおそらく最善でしょう。以下の方法は機能しますが、あいまいです。

あなたのPHP:

$timeToConvert = strtotime($row['auto_accept'] . ' -1 day');

あなたのJS:

var austDay = new Date(<?php echo $timeToConvert * 1000 ?>);
$('#countdown').countdown({until: austDay});

必要なのはこれだけです(確認のためにこれをテストしていませんが、非常にシンプルに見えるので、使用しているプラ​​グインで機能することを期待しています)。

于 2012-11-15T16:20:45.910 に答える