2016-08-18 10 views
0

誰かが私を正しい方向に向けることができたら、私はJavascriptを使って私が学ぶのを助ける小さなゲームを作ろうとしています。基本的に私は自分の関数の外で変更したいすべての変数を宣言しているので、コード内で動作するグローバルな動作をしますが、ifステートメントは成功を証明していないようですが、チュートリアルが正しいものとしてチュートリアルを修正するようです以下のコードをご覧ください。Javascript - if文のエラー

var Refresh; 
Refresh = "InActive"; 

var Counter; 
Counter = 0; 

var StartTime; 


function StartGame() { 
    var StartDate; 
    StartDate = new Date(); 
    StartTime = d.getTime(); 
    Refresh = "Active"; 
} 


function FunctionB1() { 
    if (Refresh == "Active"){ 
     document.getElementById("Bean1").style.display = "None"; 
     Counter ++; 
     document.getElementById("BeanCount").innerHTML = Counter + " Out of 150"; 
    } 
} 
+1

のように試してみてください私は 'VAR Refresh'があなたの投稿コードのどこに宣言されて表示されません。 –

+0

@GlenDespaux非常に最初の行... – Teemu

+0

ああ、私はそれがコードブロックに入れられていない参照してください。申し訳ありません。 –

答えて

0

変数名の変更を反映するためにStartDate.getTime();d.getTime();を変更する必要があります。

function StartGame() { 
StartTime = new Date().getTime(); 
Refresh = "Active"; 
} 

JSFiddle:Solution

はXufoxの改善が含まれるように編集されました。

+0

これはちょうど 'StartTime = new Date()。getTime();' 'Refresh =" Active ";'でした。不要な変数は不要です。 – Xufox

0

変数RefreshStartGame()関数から返すようにしてください。 それはこのようになります:あなたは()StartGameを呼び出した後

function StartGame() { 
    var StartDate; 
    StartDate = new Date(); 
    StartTime = d.getTime(); 
    Refresh = "Active"; 
    return Refresh; 
} 

function FunctionB1() { 
    var startRefresh = StartGame(); 
    if (startRefresh == "Active"){ 
     document.getElementById("Bean1").style.display = "None"; 
     Counter ++; 
     document.getElementById("BeanCount").innerHTML = Counter + " Out of 150"; 
    } 
} 

FunctionB1(); // Call the function 
0

変数のリフレッシュがアクセス可能になります。まだ宣言されていないので、FunctionB1のRefresh変数にアクセスすることはできません。 この

function StartGame() { 
    Refresh = "Active"; 
} 

function FunctionB1() { 
    if (Refresh == "Active"){ 
     console.log('done'); 
    } 
} 

function Game() { 
    StartGame() 
    FunctionB1() 
    console.log(Refresh) // Active 
};