2016-12-18 8 views
0

私は自分のウェブサイトでphp(MySQLデータベースの外にある)の値で始まるカウントダウンが欲しいです。カウントダウンjavascript with php

現在、私は次の関数を使用します。

<script type="text/javascript"> 
  var seconds; 
  var temp; 
    var tijd = <? echo json_encode($t); ?> 
  
  function countdown() { 
    seconds = document.getElementById('countdown').innerHTML; 
    seconds = parseInt(seconds, tijd); 
  
    if (seconds == 1) { 
      temp = document.getElementById('countdown'); 
      temp.innerHTML = "0"; 
      return; 
    } 
  
    seconds--; 
    temp = document.getElementById('countdown'); 
    temp.innerHTML = seconds; 
    timeoutMyOswego = setTimeout(countdown, 1000); 
  } 
  
  countdown(); 
</script> 

をしかし、場合には$ tの値は奇妙なステップで増加している10ではありません。これをどうすれば解決できますか?私はjavascriptでの経験がないので、それが問題です。

私はこのスクリプトを追加するときそれに加えて、次のコード:例えば、「ëが」で表されているので

header('Content-Type: text/html; charset=iso-8859-1'); 

は、もはや機能していませんか?テキストで。なぜこれが起こっているのかわからないのですか?

誰が私を助けることができますか?前もって感謝します。

+0

おそらく '' –

+0

を試してみましたか?[ParseInt](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/)のドキュメントを読んだことがありますか? parseInt)? 「Tijd」は基数と同じではありません。 –

+0

PHP文字列中のëが?に変更された問題は解決しません。 – user2051376

答えて

0

PREMADEについてbeautifull jquery countdownについて教えてください。あなたはのparseInt関数の2番目のパラメータに10を使用しなければならない人間が読めるカウンタをしたい場合は

1

は、「一般的に、人間が使用する10進数のシステムのために10を指定します。」

次に、データベースから取得する唯一の番号は、カウンタの開始点です。

私はあなたのHTMLコード内でこのようないくつかしていると思う:

<div id="countdown"><?php echo $startCounterFromDB; //This is the start of the counter ?></div> 

そして、あなたはあなたのコードを維持したいでは、あなたのJavaScriptであなただけのparseInt関数の2番目のパラメータを変更する必要があります。最後に

<script type="text/javascript"> 
    var seconds; 
    var temp; 
    var tijd = 10; //always use 10 

    function countdown() { 
    seconds = document.getElementById('countdown').innerHTML; 
    seconds = parseInt(seconds, tijd); 

    if (seconds == 1) { 
     temp = document.getElementById('countdown'); 
     temp.innerHTML = "0"; 
     return; 
    } 

    seconds--; 
    temp = document.getElementById('countdown'); 
    temp.innerHTML = seconds; 
    timeoutMyOswego = setTimeout(countdown, 1000); 
    } 

    countdown(); 
</script> 

UTF-8あなたは、単一の番号を印刷する必要があるため、すべてのファイルのPSRの標準ですが、json_encode関数を使用する必要はありません。

このコードは機能します。

+0

ありがとうございます。カウントダウンの問題は解決されました。しかし、私がヘッダ – user2051376

+0

を追加した場合、おかげで、カウントダウンの問題は解決されます。しかし、もし私のコードに ヘッダー( 'Content-Type:text/html; charset = iso-8859-1 ');' を追加すると、カウントダウンはもう動作しません。 – user2051376

関連する問題