Javascript setTimeout忽略时间参数

Javascript setTimeout忽略时间参数,javascript,settimeout,Javascript,Settimeout,这不是我第一次使用setTimeout(),但我不知道问题出在哪里。setTimeout()的代码部分执行正确,但它立即执行,没有延迟。如果有人能看到这个问题,那会有帮助的。代码如下: if(token==1){ img1.src=ssImages[imgNum]; num1=0; num2=10; setTimeout('crossFade()',2500); } 你确定这是密码吗?如果立即执行,通常有两个原因: 开发人员认为时间是以秒为单位指定的,但2500

这不是我第一次使用setTimeout(),但我不知道问题出在哪里。setTimeout()的代码部分执行正确,但它立即执行,没有延迟。如果有人能看到这个问题,那会有帮助的。代码如下:

if(token==1){
    img1.src=ssImages[imgNum];
    num1=0;
    num2=10;
    setTimeout('crossFade()',2500);
}

你确定这是密码吗?如果立即执行,通常有两个原因:

  • 开发人员认为时间是以秒为单位指定的,但2500是可以的,即2.5秒
  • 他立即调用该函数(例如,
    setTimeout(foo(),1234)
    但是这些原因都不适用于您的代码,所以如果还有其他调用该函数,请检查代码的其余部分


    无论如何,您应该真正传递函数而不是字符串:

    setTimeout(crossFade, 2500);
    
    或者,如果需要指定任何参数:

    setTimeout(function() {
        crossFade(...);
    }, 2500);
    

    你确定这是密码吗?如果立即执行,通常有两个原因:

  • 开发人员认为时间是以秒为单位指定的,但2500是可以的,即2.5秒
  • 他立即调用该函数(例如,
    setTimeout(foo(),1234)
    但是这些原因都不适用于您的代码,所以如果还有其他调用该函数,请检查代码的其余部分


    无论如何,您应该真正传递函数而不是字符串:

    setTimeout(crossFade, 2500);
    
    或者,如果需要指定任何参数:

    setTimeout(function() {
        crossFade(...);
    }, 2500);
    

    我同意他们的意见。窗户。setTimeout方法接受两个参数:

    setTimeout(function() {
        crossFade(...);
    }, 2500);
    
    1) 函数或表达式 2) 时间单位:毫秒

    在代码中提供字符串或表达式:

    setTimeout('crossFade()',…)

    与使用eval一样,通常不鼓励这样做。您应该传递一个函数-名为:

    设置超时(交叉淡入…)

    或者如匿名者所建议的:

    setTimeout(函数(){crossFade()},…)


    除非您提供一个ok JSFIDLE示例,让我们查看调用此代码的上下文,否则这就是解决此代码问题所能做的一切。

    我同意他们的观点。window.setTimeout方法有两个参数:

    setTimeout(function() {
        crossFade(...);
    }, 2500);
    
    1) 函数或表达式 2) 时间单位:毫秒

    在代码中提供字符串或表达式:

    setTimeout('crossFade()',…)

    与使用eval一样,通常不鼓励这样做。您应该传递一个函数-名为:

    设置超时(交叉淡入…)

    或者如匿名者所建议的:

    setTimeout(函数(){crossFade()},…)


    除非您提供一个ok JSFIDLE示例,让我们查看调用该代码的上下文,否则这就是解决此代码问题所能做的一切。

    您正在调用的函数不是字符串?
    setTimeout(crossFade,2500)
    @Igor Dymov:不,那不是同一个问题。请创建一个演示,因为超时本身。您正在调用的函数不是字符串?
    setTimeout(crossFade,2500)
    @Igor Dymov:不,那不是同一个问题。请创建一个演示,因为超时本身。@ratSawGod:哪些信息不应该进一步传播?ThiefMaster说的都是100%正确的。“不起作用”这不是一个有用的错误描述。我们只能使用您提供的内容,到目前为止,您只提供这一行
    setTimeout('crossFade()',2500);
    ,非常有效。创建一个更完整的示例来演示您的问题。请不要粗鲁。其他人正在花费宝贵的时间来帮助您。@ratSawGod:哪些信息不应该进一步传播?ThiefMaster所说的都是100%正确的。“不起作用”这不是一个有用的错误描述。我们只能使用您提供的内容,到目前为止,您只给我们这一行
    setTimeout('crossFade()',2500);
    ,它非常有效。创建一个更完整的示例来演示您的问题。请不要粗鲁。其他人正在花费宝贵的时间来帮助您。