【发布时间】:2014-07-26 13:47:56
【问题描述】:
我正在使用move.js 构建一个用于动画的游戏,但是它花费的时间太长,所以当玩家点击正确的解决方案时,它会在正确的解决方案改变它的颜色之前显示获胜消息,所以我使用延迟对象来触发一个事件并在动画结束时捕获它。
这是我的代码:
var deferred = new $.Deferred();
click(e);
//show message when game is over
$.when(deferred).then(function(){
if (this.checkIfWin()){
alert('you won !');
this.nextLevel();
}
});
function click(e){
move(e)
.set('background-color','black')
.delay('0.1s')
.end();
deferred.notify();
}
但它没有收到通知,消息也没有出现。我在这里错过了什么?
【问题讨论】:
标签: javascript jquery jquery-deferred