作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试调用一个函数,该函数在函数运行时清除超时(以停止动画循环)。这就是我目前正在尝试的:
function gameStop(){
clearTimeout(gameLoop);
}
function gameLoop() {
$('h1').show("slow")
.animate({"marginLeft":"300px"},4000)
.animate({"marginLeft":"0px"},4000);
$('h1').click(function(){
gameStop();
});
gameLoop();
}
setTimeout(gameLoop, 4000);
gameLoop();
最佳答案
哇,说实话,这看起来很困惑。首先,您不想在每个游戏循环中添加点击事件,因此请将其放在游戏循环之外的某个位置。第二:清除超时不起作用。一般来说,具有相同名称的 nasting 函数非常糟糕......
尝试这样的事情(不知道代码是否有效或者你的循环是否有意义,但这实际上是我认为你想要的)。
var timeOut = null;
$('h1').click(function(){
clearTimeout(timeOut);
});
function gameLoop(){
$('h1').show("slow")
.animate({"marginLeft":"300px"},4000)
.animate({"marginLeft":"0px"},4000);
};
timeOut = setTimeout(gameLoop, 4000);
关于javascript - 运行时在其自己的函数内清除超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18942651/
我是一名优秀的程序员,十分优秀!