如何重置我的分数(javascript)

时间:2011-09-11 22:27:01

标签: javascript jquery reset

我的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);

这一切都有效,但现在我想在使用后缀时将分数重置为0。我试过这个:

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

注意我添加了resetScore并创建了一个新功能来重置分数:

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

但这并没有将分数重置为0.我缺少什么?

亲切的问候, 莫里斯

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

我自己找到了解决方案。而不是创建一个新的功能,我扩展了一个现有的(使用相同的绑定)将分数设置为0.感谢所有人试图帮助我!

3 个答案:

答案 0 :(得分:1)

您只能将一个事件处理程序传递给bind方法。你必须在匿名函数中调用这两个函数:

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

以下是此代码的实际示例: http://jsbin.com/iresem/edit

答案 1 :(得分:0)

如果你正在使用jQuery 1.5,那么你可以利用新的Deferred Objects

这样的事情:

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

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

答案 2 :(得分:0)

我自己找到了解决方案。而不是创建一个新的功能,我扩展了一个现有的(使用相同的绑定)将分数设置为0.感谢所有人试图帮助我!