2017-04-20 9 views
0

以下は私の進行状況バーのhtmlとjsです: しかし、私のコンソールは変数dragonHealthの値がnullであり、初期化時に100になるはずです。私が見つけたものから、値は浮動小数点変数でなければなりません。なぜそれがnullとして出てくるのですか?このprogressタグbtwにはあまり慣れていません。助けてくれてありがとう。 Btw、私のCSSの健康IDはちょうどjsでそれを参照するために作成された空白のものです。HTML5プログレスバーの値を取得/変更する方法は?

JS

var dragonHealth = document.getElementById("health").value; 

HTML

<progress id="health" value="100" max="100"></progress> 
+0

はここでうまくいきます。https://fiddle.jshell.net/umbkuzyj/ (コンソールを確認してください) –

答えて

3

document.addEventListener("DOMContentLoaded", function(event) { 
 
    /* DOM is ready, so we can query for its elements */ 
 
    var dragonHealth = document.getElementById("health").value; 
 
    console.log(dragonHealth); 
 
    
 
    /*additional code for comment*/ 
 
    document.querySelector('button').addEventListener("click", function(event){ 
 
    document.getElementById("health").value += 5; 
 
    }); 
 
})
<progress id="health" value="60" max="100"></progress> 
 
<button>change progress value</button>
DOMは( またはページの終わりに)準備ができていた後JSが実行されていることを確認します

+0

こんにちは、ありがとう、それは働いた。補足説明では、進行状況バーのビジュアルそのものが私の戦いシミュレーションの値の変化を反映するように更新されていませんが、私は後で持っているifステートメントから値が変化していることを知っています。私はそれが非同期の問題だと思ったが、シミュレーションの最後には更新されない。ここで何が問題なのか知っていますか? – avisaxena33

+0

@ avisaxena33進捗を保存する変数だけでなく、要素の値も更新していることを確認してください。 (*例で更新された答え*)。 –

+0

ええ、私はdragonHealthの価値を変えていますが、それからプログレスバーの値をdragonHealthに設定するコード行もありますが、バーは変わらず、単に静的です – avisaxena33

関連する問題