2016-03-28 26 views
-1

私は現在The Odin Project's first project in their curriculumで作業しています。ステップ4の場合グローバル変数をjavacriptの.click関数内のwindow.prompt()変数に変更する

、私は(にwindow.promptを作成しようとしています)ので、のような既存のグローバル変数に割り当てる新しい番号をユーザーに要求されますこと:私は何

var gridSize; 
var gridAmount; 

    if (gridAmount === "", null, undefined, false || gridAmount < 1 ||gridAmount > 64 || isNaN(gridAmount)){ 
      var gridSize = 16; 
     } else { 
      var gridSize = gridAmount; 
     }; 

    function grid() { 

     for (var x = 0; x < gridSize; x++) { 
      $('#container').append("<div class='grid'></div>"); 
      $('.grid').height(800/gridSize); 
     }; 
     for (var x = 0; x < gridSize; x++) { 
      $('.grid').append("<div class='row'></div>") 
      $('.row').width(800/gridSize); 
      $('.row').height(800/gridSize); 
     }; 
    }; 

    $('#reset-squares').click(function(){ 
     location.reload(true); 
     var gridAmount = window.prompt("From 1 to 64, what is your grid's parameters (00 x 00)?"); 
    }); 

しようとすると、ページをリセットし、変数gridAmountを.click()関数で定義された新しい番号に割り当てます。何か不足していますか?これは現在のコード構造では実現不可能ですか?ここで

は、事前にdemo

感謝です!

答えて

1

の文字列のgridAmountの前に置いてください。

最初のvar gridAmountがグローバル変数を作成しています。関数内で新しい値を代入すると、グローバル変数が更新されます。

変数を関数に追加すると、同じ名前の関数にローカル変数が作成されるため、グローバル変数は更新されません。

また、チェックアウトjQueryの.emptyおよび.destroyメソッドもあります。彼らはあなたがコードの次の実行のためにHTMLを準備することができます。

+0

私は私のデモや個人的なファイルでこれを試してみました、それはまだ同じ問題を返します。私はそれが再読み込み機能と私の新しい変数の再割り当てを妨げることと関連があるかもしれないと思います。 – jsadams27

+0

gridSIzesから** var ** sも削除してください。グローバル変数は一度だけ宣言してください。参照のためにlocation.reload – user2182349

0

あなたは正しいとは考えていません。 gridAmountを設定する前に、ページがリロードされています。

ページをリロードする前に、値をページに戻して設定する必要があります。

たとえば、クエリ文字列?show_prompt=true(または必要な値を含むものなど)でページをリロードすることができます。

次に、ページのロード/リロード時に設定されているかどうかを確認し、プロンプトを表示して、ユーザーから値を取得し、スクリプトの先頭にvar gridAmountに設定することができます。

0

gridAmount はあなたの世界的な権利ですか?あなたはプロンプトの値をそれに割り当てたいでしょうか?

gridAmount = window.prompt("From 1 to 64, what is your grid's parameters (00 x 00)?"); 

新しい値を割り当てるときだけVARを削除...

+0

:https://developer.mozilla.org/en/docs/Web/JavaScript/Closures – jatazoulja

関連する問題