JavaScript帮助:调用setTimeout时,简单脚本无效

Ret*_*mus 2 javascript

我想每2秒更改一个span元素中的exists,但它只显示0中的内容:'asd'.

谁能告诉我为什么这不起作用?

var n = 0;

function hideVideoSpan(type){
    switch(type)
    {
        case 0:
        {
            $("#hideVideoSpan").html('asd');
            n = 1;
            break;
        }

        case 1:
        {
            $("#hideVideoSpan").html('lol');
            n = 0;
            break;
        }

        default:break;
    }

    setTimeout(hideVideoSpan(n), 2000);
}

hideVideoSpan(n);
Run Code Online (Sandbox Code Playgroud)

epa*_*llo 7

您正在调用该函数,而不是参考

setTimeout(hideVideoSpan(n), 2000);
Run Code Online (Sandbox Code Playgroud)

需要关闭

setTimeout( function(){ hideVideoSpan(n); }, 2000);
Run Code Online (Sandbox Code Playgroud)


xCa*_*der 5

setTimeout(hideVideoSpan(n), 2000);
Run Code Online (Sandbox Code Playgroud)

应该

setTimeout(function() {
    hideVideoSpan(n);
}, 2000);
Run Code Online (Sandbox Code Playgroud)