-2
function next_second(){
var target = '1350840000';    
var now = <?php echo time();?>;       
alert(now);
}
$(function() {
  setInterval(next_second, 1000);
});

上記のアラート関数は常に同じ値を返します。私は何か間違ったことをしていますか?

4

2 に答える 2

1

同じ値を返す理由は、ページが読み込まれるまでに「now」変数の値が生成されるためです。関数を何度実行しても、同じ結果/値が返されるため、意味がありません。

現在の時刻を動的に検出する必要がありますが、ページの読み込み時は検出しません。

次のスクリプトを試すことができます。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script>
function next_second(){
    var target = '1350840000';    
    var now = new Date().getTime();;       
    console.log(now);
}
$(function() {
  setInterval( next_second, 1000 );
});
</script>

ありがとうございました。

于 2012-10-21T15:19:47.320 に答える
1

PHP 時間は (ページの読み込み時に) 1 回だけ設定されるため、間隔ごとに更新されることはありません。各間隔で PHP (サーバー) 時間を取得したい場合は、ajax を使用して取得する必要があります。

例については、 http://api.jquery.com/jQuery.get/を参照してください。

于 2012-10-21T15:15:06.243 に答える