2011-09-11 13 views
0

私はjavascriptのファイルに次のコードを持っている:どのように自分のスコアをリセットするには(ジャバスクリプト)

$(document).ready(function(){ 
    $("#shuffle, #game_over_shuffle").bind("click", shuffleBoard); 
}); 

これはdivの中でいくつかのことをシャッフルします。あなたはヒントを使用することができます

// Ad score 
var score = 0; 

、それは(大きな関数からカット)あなたのスコアを削減します:今、私はまた、このようになりますスコアリングシステムを持っている

// Remove 500 points when used 
    score -= 500; 
     $('#score').text(score); 

このすべての作品を、しかし、今度は、suffleが使用されたときにスコアを0にリセットしたいと思っています。私は何

function resetScore(){ 
    score = 0; 
     $('#score').text(score); 
}; 

しかし、これは0にスコアをリセットしません:私はresetScoreを追加し、スコアをリセットするために、新たな機能を加えました

$("#shuffle, #game_over_shuffle").bind("click", shuffleBoard, resetScore); 

注:私はこれを試してみました行方不明?

敬具、 モーリス

見つかり

================================

私自身の解決策。新しい関数を作成するのではなく、同じバインドを使って既存の関数を拡張してスコアを0に設定しました。

+0

私たちが本当に助けてくれる情報ではありません。申し訳ありません。あなたは何を見ませんか?何もない?他に何か?あなたのブラウザのJavaScriptコンソールにエラーがありますか?あなたはresetScoreが実際に呼び出されているのでしょうか?アラートを投げた場合、ヒットしますか?あなたが私たちに語ることができる他の何かはhelPでしょう! – Rup

+0

'bind 'は任意の数の関数を受け入れますか?私はそれを使ったことがない、またはそれを見たことがあります - 本当に 'resetScore'が実際に呼び出されていますか? –

+0

「シャッフルボード」が何をしているのか教えてください。 'resetScore()'関数は決して呼び出されないと思います。クリックハンドラを '.bind( 'click'、resetScore);' – GNi33

答えて

0

は、ソリューションを自分自身を発見しました。新しい関数を作成するのではなく、同じバインドを使って既存の関数を拡張してスコアを0に設定しました。

1

イベントハンドラは、bindメソッドに1つしか渡すことができません。あなたは匿名関数内からこれらの二つの機能を呼び出す必要があります:

$("#shuffle, #game_over_shuffle").bind("click", function() { 
    shuffleBoard(); 
    resetScore(); 
}); 

ここでこのコードの実際の例です:あなたはjQueryの1.5を使用している場合 http://jsbin.com/iresem/edit

+0

返信ありがとうございますが、動作していないようです: '$(document).ready(function(){ $("#シャッフル、#game_over_shuffle ")。bind( "click"、function(){ shuffleBoard(); resetScore(); }); }); 関数resetScore(){ \tスコア= 0; \t $( '#score')。テキスト(スコア); }; ' 結果はリセットされません – Maurice

0

あなたは新しいDeferred Objectsを活用することができます

このような何か:

var deferred = $.Deferred(); 
deferred.done(shuffleBoard).done(resetScore); 

$("#shuffle, #game_over_shuffle").bind("click", function() { 
    deferred.resolve(); 
} 
+0

あなたの返事をありがとう、あなたのコードを試してみましたが、運がない、これを実装するときにアプリケーションがうまく動作しないために間違った場所にvarを置くと思います。 – Maurice

+0

http://jsfiddle.net/CLuts/6/をご覧ください。できます。 – kaychaks

関連する問題