setTimeOut失效问题

知风23_ 2014-06-12 11:47:48
if (flag != null && flag == 1) {
alert(flag);
setTimeout(redict(),5000);
}

function redict(){
alert("123");
window.location="http://10.98.94.118:8093/jforum_test/posts/list/207.page";
}

代码如上,这种方法不会等待5秒,会直接跳转页面
还用了如下方式也不可以
if (flag != null && flag == 1) {
alert(flag);
window.setTimeout(function(){redict},5000);
// setTimeOut(location.href="http://10.98.94.118:8093/jforum_test/posts/list/207.page",10000);
}

function redict(){
alert("123");
window.location="http://10.98.94.118:8093/jforum_test/posts/list/207.page";
}

这种方式连跳转都跳转不了,各位大侠求救啊,就是想实现进入当前页面停留几秒钟后接着跳转到指定页面
...全文
1238 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tebin123 2016-12-11
  • 打赏
  • 举报
回复
解决方法 加双引号或者去掉括号
luhuiming741cs 2014-06-12
  • 打赏
  • 举报
回复
Go 旅城通票 2014-06-12
  • 打赏
  • 举报
回复
该加()的没加,没加的都加上了。。⊙﹏⊙b汗。。去补习下基础了
Go 旅城通票 2014-06-12
  • 打赏
  • 举报
回复
setTimeout(redict(),5000); 你都直接直接执行函数了,把函数的返回值作为setTimeout及时结束后执行的代码 setTimeout(redict,5000); 去掉()
Cocl 2014-06-12
  • 打赏
  • 举报
回复
引用 9 楼 s346658910 的回复:
[quote=引用 7 楼 showbo 的回复:] flag定义没有?没有定义那样引用是出错的。。如果就你贴出来的哪些代码flag是没有定义的会出错 if (window.flag != null && window.flag == 1) { alert(flag); setTimeout(redict,5000); } function redict(){ alert("123"); window.location="****"; }
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="";
	}
[/quote] 试一下getQueryString("flag")的返回值是否为1,本地测试var flag=1;代码正常
知风23_ 2014-06-12
  • 打赏
  • 举报
回复
引用 7 楼 showbo 的回复:
flag定义没有?没有定义那样引用是出错的。。如果就你贴出来的哪些代码flag是没有定义的会出错 if (window.flag != null && window.flag == 1) { alert(flag); setTimeout(redict,5000); } function redict(){ alert("123"); window.location="****"; }
我试了一下只要在if条件外,就可以实现setTimeout
狂浪吻血 2014-06-12
  • 打赏
  • 举报
回复
var flag=getQueryString("flag");     var url=getQueryString("url");           if (flag != null && flag == 1) {         alert(flag);         setTimeout(function(){  alert("123");         window.location=""; },5000);      }         
知风23_ 2014-06-12
  • 打赏
  • 举报
回复
引用 7 楼 showbo 的回复:
flag定义没有?没有定义那样引用是出错的。。如果就你贴出来的哪些代码flag是没有定义的会出错 if (window.flag != null && window.flag == 1) { alert(flag); setTimeout(redict,5000); } function redict(){ alert("123"); window.location="****"; }
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="";
	}
Go 旅城通票 2014-06-12
  • 打赏
  • 举报
回复
引用 4 楼 zgrmghghg 的回复:
[quote=引用 1 楼 showbo 的回复:] setTimeout(redict(),5000); 你都直接直接执行函数了,把函数的返回值作为setTimeout及时结束后执行的代码 setTimeout(redict,5000); 去掉()
能详细说一下,有括号和没括号的区别吗[/quote] 加了括号就是执行这个函数了啊。。然后将函数返回值作为setTimeout的参数了。。没加函数就是传递函数句柄,时间结束就会自动执行,你要加括号就要用""括起。。当做一段要执行的js代码
Go 旅城通票 2014-06-12
  • 打赏
  • 举报
回复
flag定义没有?没有定义那样引用是出错的。。如果就你贴出来的哪些代码flag是没有定义的会出错

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

function redict(){
alert("123");
window.location="****";
}
zgrmghghg 2014-06-12
  • 打赏
  • 举报
回复
引用 5 楼 s346658910 的回复:
[quote=引用 1 楼 showbo 的回复:] setTimeout(redict(),5000); 你都直接直接执行函数了,把函数的返回值作为setTimeout及时结束后执行的代码 setTimeout(redict,5000); 去掉()
我这样怎么还是不可以,是不是我有些小地方又错了,上边那些方法都是找的网上的
if (flag != null && flag == 1) {
		alert(flag);
		setTimeout(redict,5000); 
	}
	
	function redict(){
		alert("123");
		window.location="****";
	}
[/quote]这个出什么问题呢
知风23_ 2014-06-12
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
setTimeout(redict(),5000); 你都直接直接执行函数了,把函数的返回值作为setTimeout及时结束后执行的代码 setTimeout(redict,5000); 去掉()
我这样怎么还是不可以,是不是我有些小地方又错了,上边那些方法都是找的网上的
if (flag != null && flag == 1) {
		alert(flag);
		setTimeout(redict,5000); 
	}
	
	function redict(){
		alert("123");
		window.location="****";
	}
zgrmghghg 2014-06-12
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
setTimeout(redict(),5000); 你都直接直接执行函数了,把函数的返回值作为setTimeout及时结束后执行的代码 setTimeout(redict,5000); 去掉()
能详细说一下,有括号和没括号的区别吗

87,916

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧