function next_second(){
var target = '1350840000';
var now = <?php echo time();?>;
alert(now);
}
$(function() {
setInterval(next_second, 1000);
});
上記のアラート関数は常に同じ値を返します。私は何か間違ったことをしていますか?
同じ値を返す理由は、ページが読み込まれるまでに「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>
ありがとうございました。
PHP 時間は (ページの読み込み時に) 1 回だけ設定されるため、間隔ごとに更新されることはありません。各間隔で PHP (サーバー) 時間を取得したい場合は、ajax を使用して取得する必要があります。