Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript设置超时?_Javascript - Fatal编程技术网

如何使用javascript设置超时?

如何使用javascript设置超时?,javascript,Javascript,我有一小段javascript,我想使用它,但在激活之前需要一段延迟 function sglClick(url) { window.setTimeout('location.href="http://'"+url",1500); } 这不管用,我真的被困在这里了 这是我现在拥有的 function send(){ } function sglClick(url) { // window.location.href="http://"+url; setTimeout

我有一小段javascript,我想使用它,但在激活之前需要一段延迟

function sglClick(url) {
    window.setTimeout('location.href="http://'"+url",1500);
}
这不管用,我真的被困在这里了


这是我现在拥有的

function send(){

}

function sglClick(url) {
//    window.location.href="http://"+url;
    setTimeout(function send() { location.href = "http://" + url; },1500);
}
试试这个

function sglClick(url) {
    setTimeout(function() { location.href = "http://" + url; },1500);
}
这是使用匿名函数来存放代码。点火大约需要1.5秒。我之所以说近似值,是因为JavaScript是单线程的,而其他函数调用/etc实际上可以在稍微不同的时间触发间隔(但9/10这不是问题)

它还假设您正在向函数发送类似的内容

sglClick('www.google.com');
当您的代码在参数前面加上http前缀时://

我一直只是简单地将此函数用作setTimeout(),而不是窗口对象的方法。

试试这个

function sglClick(url) {
    setTimeout(function() { location.href = "http://" + url; },1500);
}
这是使用匿名函数来存放代码。点火大约需要1.5秒。我之所以说近似值,是因为JavaScript是单线程的,而其他函数调用/etc实际上可以在稍微不同的时间触发间隔(但9/10这不是问题)

它还假设您正在向函数发送类似的内容

sglClick('www.google.com');
当您的代码在参数前面加上http前缀时://



我一直只是简单地将此函数用作setTimeout(),而不是窗口对象的方法。

在将代码传递给“setTimeout”时,千万不要用引号括起代码,因为这会调用“eval()”,该函数只应在绝对必要时使用。相反,使用alex的解决方案中的匿名函数。嗨,你能告诉我应该在这个新函数中添加什么吗?很抱歉,我对javascript真的非常陌生。Tim,如果你使用(如果必要,调整)我的代码,你的函数就可以了。请问您为什么需要这个功能?也许有更好的解决办法,当然,亚历克斯。我希望允许用户单击或双击一行数据。如果用户单击然后显示第1页,则为双击然后显示第2页。问题是,当我双击时,onclick处理程序首先启动,并在我需要第2页时将我带到第1页。我认为setTimout将是一个很好的解决方案。非常感谢你的邀请help@Tim:使用alex答案中的确切代码,你会没事的。您的第二个代码段不起作用,因为您给了函数一个名称。普通函数有名称,而匿名函数没有名称。它们是一个“值”,可以像字符串、数组和其他数据类型一样传递。要了解有关JavaScript中函数的更多信息,您可能会找到和获得帮助。在将代码传递给“setTimeout”时,请不要将代码用引号括起来,因为这会调用“eval()”,该函数只应在绝对必要时使用。相反,使用alex的解决方案中的匿名函数。嗨,你能告诉我应该在这个新函数中添加什么吗?很抱歉,我对javascript真的非常陌生。Tim,如果你使用(如果必要,调整)我的代码,你的函数就可以了。请问您为什么需要这个功能?也许有更好的解决办法,当然,亚历克斯。我希望允许用户单击或双击一行数据。如果用户单击然后显示第1页,则为双击然后显示第2页。问题是,当我双击时,onclick处理程序首先启动,并在我需要第2页时将我带到第1页。我认为setTimout将是一个很好的解决方案。非常感谢你的邀请help@Tim:使用alex答案中的确切代码,你会没事的。您的第二个代码段不起作用,因为您给了函数一个名称。普通函数有名称,而匿名函数没有名称。它们是一个“值”,可以像字符串、数组和其他数据类型一样传递。要了解更多有关JavaScript函数的信息,您可能会找到并获得帮助。嘿,Alex,谢谢!另一个功能。。。它应该包含什么?你指的是哪个函数?好吧,我想我应该创建一个新函数并称之为“send”。基本上,我希望在将用户发送到URL之前等待大约半秒。当调用此函数时,它将自动等待1.5秒并将用户发送到计算出的地址。如果您愿意,可以将此函数重命名为send()。@alex:顺便说一下,在JavaScript中,“window.something”与“something”相同。所以,“setTimeout”指的是与“window.setTimeout”指的相同的函数/方法。嘿,Alex,谢谢!另一个功能。。。它应该包含什么?你指的是哪个函数?好吧,我想我应该创建一个新函数并称之为“send”。基本上,我希望在将用户发送到URL之前等待大约半秒。当调用此函数时,它将自动等待1.5秒并将用户发送到计算出的地址。如果您愿意,可以将此函数重命名为send()。@alex:顺便说一下,在JavaScript中,“window.something”与“something”相同。因此,“setTimeout”指的是与“window.setTimeout”指的相同的函数/方法。