Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 退出全屏时如何停止图像间隔?_Javascript - Fatal编程技术网

Javascript 退出全屏时如何停止图像间隔?

Javascript 退出全屏时如何停止图像间隔?,javascript,Javascript,从全屏退出时,我试图停止间隔。但我没能做到。与此非常相似。我建议您按照上面的答案,倾听fullscreenchange事件,而不是使用间隔来检测全屏退出 但是,如果确实要执行间隔,则可以使用代码来清除它: function move_img(){ if(paused){ paused = false; timerId = setInterval(() => disImg(), 800); if (miser.requestFullscreen) {

从全屏退出时,我试图停止间隔。但我没能做到。

与此非常相似。我建议您按照上面的答案,倾听
fullscreenchange
事件,而不是使用间隔来检测全屏退出

但是,如果确实要执行间隔,则可以使用代码来清除它:

function move_img(){
  if(paused){

     paused = false;
     timerId = setInterval(() => disImg(), 800);

      if (miser.requestFullscreen) {
        miser.requestFullscreen();
      } else if (miser.mozRequestFullScreen) { /* Firefox */
        miser.mozRequestFullScreen();
      } else if (miser.webkitRequestFullscreen) { /* Chrome, Safari & Opera */
        miser.webkitRequestFullscreen();
      } else if (miser.msRequestFullscreen) { /* IE/Edge */
        miser.msRequestFullscreen();
      }

  }else{
    paused = true;
    clearInterval(timerId); // stop the clock
  }
}
这是正确的。但是,我建议不要使用全局变量,即:

timerId = setInterval(() => disImg(), 800);

clearInterval(timerId); // stop the clock
但关键是,您正在正确地清除间隔,因此如果仍在调用
disImg
,则它可能来自其他地方,或者您的
clearInterval
未被到达


如果是这样的话,我建议添加
console.log
行来尝试并调试它为什么不可用。

我无法解释它。我想做的是:它以正常方式停止。当我用ESC退出全屏时,我单击它开始移动的按钮,它会继续,我想在退出全屏时停止。我希望我能表达我自己:)老实说,我是从技术角度看,不清楚您试图实现什么。我所能说的是,如果您想使用间隔,您的想法是正确的,但我建议使用事件处理方法。其余的取决于您的特定“停止”代码,不管它是什么。
const timerId = setInterval(() => disImg(), 800);