Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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_Jquery - Fatal编程技术网

Javascript 停止计时器

Javascript 停止计时器,javascript,jquery,Javascript,Jquery,我正在处理这个,当我的鼠标离开文本区域时,它会关闭。但是,如果我将鼠标悬停在计时器上,我找不到取消计时器的方法。我甚至试过一些例子。这是关闭文本框的代码-- 你从W3Schools发布的链接正是你所需要的 setTimeout()返回一个参考值,您可以稍后将其传递到cleartimout()以取消计时器 var timerID; //set outside the function function close() { timerID = setTimeout(function()

我正在处理这个,当我的鼠标离开文本区域时,它会关闭。但是,如果我将鼠标悬停在计时器上,我找不到取消计时器的方法。我甚至试过一些例子。这是关闭文本框的代码--


你从W3Schools发布的链接正是你所需要的

setTimeout()
返回一个参考值,您可以稍后将其传递到
cleartimout()
以取消计时器

var timerID; //set outside the function

function close() {
     timerID = setTimeout(function() {
       $(Img).css("transform", "rotateX(0deg)");
       $(Txt).css("transform", "rotateX(90deg)");
    }, 1000);
  }

$(Txt).on("mouseleave", function() {
   close();
   $(Txt).blur();
});

//somewhere else do this...
clearTimeout(timerID);

setTimeout函数返回处理程序,稍后可以使用该处理程序重置计时器

var timerID; //set outside the function

function close() {
     timerID = setTimeout(function() {
       $(Img).css("transform", "rotateX(0deg)");
       $(Txt).css("transform", "rotateX(90deg)");
    }, 1000);
  }

$(Txt).on("mouseleave", function() {
   close();
   $(Txt).blur();
});

//somewhere else do this...
clearTimeout(timerID);
比如说,

var myVar;

function myFunction() {
    myVar = setTimeout(function(){ alert("Hello") }, 3000);
}

function myStopFunction() {
    clearTimeout(myVar);
}
您是否尝试过:

var myTimeout;

function close() {
     myTimeout = setTimeout(function() {
       $(Img).css("transform", "rotateX(0deg)");
       $(Txt).css("transform", "rotateX(90deg)");
    }, 1000);
  }

$(Txt).on("mouseleave", function() {
   close();
   $(Txt).blur();
}).on("mouseenter", function() {
   clearTimeout(myTimeout);
});

你应该设定一个条件。一个包含一个值的变量,它决定计时器是否应该采取行动。好的,谢谢!我一定是用错了什么的。