我的幻灯片正在持续运行,无需用户互动。由于节目全屏播出,所以没有控件。但是,Occasionnaly用户应该能够冻结节目,以防她想要更仔细地检查图片[艺术品]。我想知道是否可以通过添加一个eventListener(keydown)来启用用户来切换,比如空格键(Keycode == 32)来冻结或继续显示。相关的代码:
<body>
...
(function loop() {
rantime = Math.round(Math.random() * (9000 - 2000)) + 1000;
setTimeout(function() {
rotateImage();
loop();
}, rantime);
})();
到目前为止,我没有找到解决这个问题的任何建议。 [clearTimeout,如果可能的话,只跳过下一个当前图像]切换点当然是用户可以无限期推迟节目的延续,而不是完成节目。 任何帮助,将不胜感激。 Wimsch
答案 0 :(得分:1)
你应该可以使用暂停标志:
var paused = false;
document.onkeydown = function(evt) {
evt = evt || window.event;
if (evt.ctrlKey && evt.keyCode == 32) {
paused = !paused;
}
};
(function loop() {
rantime = Math.round(Math.random() * (9000 - 2000)) + 1000;
setTimeout(function() {
if (!paused) {
rotateImage();
}
loop();
}, rantime);
})();