我很难搞清楚这一点。我喜欢xxp.run.pause();被xxp.run.play()取代;在下面的初始代码由用户执行一次之后。我试过创建一个闭包,但我不确定我是否正确设置了它。任何帮助将非常感谢。
doSkip: function() {
XXP.run.removeListener('canper', XXP.Skip);
XXP.run.currentTime = XXP.skipTo;
XXP.run.pause(); // this is what I would like to change
}
答案 0 :(得分:1)
您可以在某处设置一个标记,用于记录之前是否已调用doSkip
函数:
var hasSkip = false;
doSkip: function() {
XXP.run.removeListener('canper', XXP.Skip);
XXP.run.currentTime = XXP.skipTo;
if (!hasSkip) {
XXP.run.pause();
hasSkip = true;
}
else {
XXP.run.play();
}
}
答案 1 :(得分:1)
您可以使用持久变量将函数包装在IIFE中,该变量检查它是否已暂停。这比在其他地方使用单独的变量更有优势,因为hasPausedOnce
功能只需要doSkip
- 不需要填充外部范围(可能让代码的读者担心是否{{1}将在其他地方改变)
hasPausedOnce