【问题标题】:javascript clearTimeout problems using jQuery使用 jQuery 的 javascript clearTimeout 问题
【发布时间】:2013-11-27 00:54:38
【问题描述】:

我做了 2 次倒计时事件,但后来我无法使用 clearTimeout 停止 setTimeout (countDown) 函数。这是我的 jQuery:

$(document).ready(function () {
var lives = 5
var livesmenos1 = "4";
var livesmenos1 = 4;
var countdownfinal = 10;
var t;
var isTimeron = false;
var onelive = "1";
var onelive = 1;

$(".wrongbutton, .wrongbutton2, .wrongbutton3").click(function () {
    $(".countdownfirst").text(livesmenos1)
    livesmenos1--;
    if (livesmenos1 == 0) (livesmenos1 = 0);
    if (livesmenos1 < 2)
        $(".countdownfirst").css({ "color": "990099", "font-size": "380%" });
    if (livesmenos1 < 1)
        $(".lives").attr("src", "images/morelives.gif");
    if (livesmenos1 < 0)
        $("#tableone, #tabletwo").delay(1000).hide(2000);
    if (livesmenos1 < 0)
        $("#tableloser").delay(2000).fadeIn(2500, function countDown() {
            setTimeout(countDown, 1000);
            $("#box").text(countdownfinal + " seconds").css({ "color": "990099" });
            countdownfinal--;
            if (countdownfinal < 1) (countdownfinal = 10);
            if (countdownfinal < 2)
                $(".countdownfirst").text(onelive++);
            if (onelive > 5)
                $(".countdownfirst").text("5");
            if (onelive > 1)
                $("#nextbuttonloser").delay(1000).fadeIn(500).delay(30000);
        });
 });
});

然后我做了 myStopFunction onclick 按钮来启动 clearTimeOut 功能:

function myStopFunction()
{
clearTimeout(countDown);
}

它不起作用。我也尝试使用 jQuery 触发,但同样没有效果。如何停止名为“countDown”的 setTimeout 函数?

谢谢

【问题讨论】:

  • 您没有显示countDown 的定义位置,这是非常相关的。

标签: javascript jquery timer


【解决方案1】:

无法阻止特定函数在 Timeout 中触发。唯一的方法是停止超时本身。每个超时都在调用时返回一个整数值。使用此值清除超时。请注意,它需要在您的函数范围内可用

var TimeoutHandle;
$(document).ready(function () {
 ...
 TimeoutHandle = setTimeout(countDown, 1000);
 ...
});

function myStopFunction()
{
 clearTimeout(TimeoutHandle);
}

【讨论】:

  • 是的。我试图创建一个 30 秒的延迟来停止计时器本身并创建一个 if stat 等于零但是......是的。谢谢
猜你喜欢
  • 2012-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-02
  • 1970-01-01
  • 2017-08-03
  • 1970-01-01
相关资源
最近更新 更多