解决方案 »

  1.   

    setTimeout(redict(),5000); 你都直接直接执行函数了,把函数的返回值作为setTimeout及时结束后执行的代码setTimeout(redict,5000); 去掉()
      

  2.   

    我这样怎么还是不可以,是不是我有些小地方又错了,上边那些方法都是找的网上的
    if (flag != null && flag == 1) {
    alert(flag);
    setTimeout(redict,5000); 
    }

    function redict(){
    alert("123");
    window.location="****";
    }
      

  3.   

    我这样怎么还是不可以,是不是我有些小地方又错了,上边那些方法都是找的网上的
    if (flag != null && flag == 1) {
    alert(flag);
    setTimeout(redict,5000); 
    }

    function redict(){
    alert("123");
    window.location="****";
    }这个出什么问题呢
      

  4.   

    本帖最后由 showbo 于 2014-06-12 13:59:11 编辑
      

  5.   

    能详细说一下,有括号和没括号的区别吗加了括号就是执行这个函数了啊。。然后将函数返回值作为setTimeout的参数了。。没加函数就是传递函数句柄,时间结束就会自动执行,你要加括号就要用""括起。。当做一段要执行的js代码
      

  6.   

    flag定义了的,也可以打印出来,现在执行不到redict方法,打印不出123 var flag=getQueryString("flag");
    var url=getQueryString("url");

    if (flag != null && flag == 1) {
    alert(flag);
    setTimeout(redict,5000); 
    }

    function redict(){
    alert("123");
    window.location="";
    }
      

  7.   

    var flag=getQueryString("flag");
        var url=getQueryString("url");
         
        if (flag != null && flag == 1) {
            alert(flag);
            setTimeout(function(){
      alert("123");
            window.location="";
    },5000); 
        }
         
      
      

  8.   

    我试了一下只要在if条件外,就可以实现setTimeout
      

  9.   

    flag定义了的,也可以打印出来,现在执行不到redict方法,打印不出123 var flag=getQueryString("flag");
    var url=getQueryString("url");

    if (flag != null && flag == 1) {
    alert(flag);
    setTimeout(redict,5000); 
    }

    function redict(){
    alert("123");
    window.location="";
    }试一下getQueryString("flag")的返回值是否为1,本地测试var flag=1;代码正常