设置一个在30秒内运行的功能并取消它?

时间:2009-04-03 16:32:13

标签: javascript

我有一个非常好的应用程序,但它不会为某些用户加载。我有一个总是加载但不是很好的精简版本,所以我想设置一个javascript等待30秒,然后从主应用程序切换到精简版应用程序。但是如果主应用程序在30秒内加载,那么切换到它就会停留在主应用程序上。

基本上我想等30秒然后运行一个功能,但我希望能够取消。

谢谢!

1 个答案:

答案 0 :(得分:11)

var timeoutId = -1;

function functionToRun()
{
    alert('hi there!');
}

function delayRun()
{
    timeoutId = setTimeout(functionToRun, 30 * 1000);
}

function cancelRun()
{
    if (timeoutId == -1)
        return;

    clearTimeout(timeoutId);

    timeoutId = -1;
}

functionToRun中添加“做某事”的代码,然后调用delayRun()。请致电cancelRun()以......嗯...取消。