我使用jQuery runloop为一个相当复杂的动画。尽管名称为runLOOP,但我不能在循环中运行动画。
这是我尝试的(简化):
var loop = jQuery.runloop();
loop.addKey('25%', function(){
console.log('25%');
});
loop.addKey('50%', function(){
console.log('50%');
});
loop.addKey('75%', function(){
console.log('75%');
});
loop.play(3000, callback);
function callback() {
console.log('done!');
console.log(loop);
loop.reset();
loop.play(3000);
console.log(loop);
}
我期望loop.reset();
重置runloop,以一种允许我再次使用loop.play();
运行循环的方式,但我的控制台在第一次完成动画后就疯狂了。
有人尝试成功了吗?
-多米尼克
编辑:查看实际代码-> http://jsfiddle.net/v9UPx/(打开控制台)
当你调用console.log(loop);
时,你的控制台可能会"疯狂",我想这就是它的作用。
在reset()
之前添加pause()
,如下所示:
function callback() {
loop.pause();
loop.reset();
loop.play(3000);
}