jQuery delay()或setTimeout()
如果您能帮助我,请告诉我…我需要在新选项卡(或窗口)中打开一个链接,但只有在执行了一些函数之后。我尝试了所有方法,纯Javascript、jQuery,没有任何效果。 提供的解决方案是使用delay()还是使用setTimeout()对我来说并不重要。 我认为delay()的问题在于它只适用于fx队列中的函数,我尝试了一些方法,但就是无法让它工作 代码如下:jQuery delay()或setTimeout(),jquery,javascript-events,Jquery,Javascript Events,如果您能帮助我,请告诉我…我需要在新选项卡(或窗口)中打开一个链接,但只有在执行了一些函数之后。我尝试了所有方法,纯Javascript、jQuery,没有任何效果。 提供的解决方案是使用delay()还是使用setTimeout()对我来说并不重要。 我认为delay()的问题在于它只适用于fx队列中的函数,我尝试了一些方法,但就是无法让它工作 代码如下: $(function(){ $(“#playNowLink”).click(function() { $(‘#header
$(function(){
$(“#playNowLink”).click(function() {
$(‘#header’).effect(“fold”, { size: “50%” }, 1000);
$(‘#showVideo’).delay(1100).fadeIn(‘slow’);
// Here i would like to call ‘playNow.html’,
//but only after 7-8 seconds
});
提前感谢此javascript应该可以工作-您对它有什么问题
setTimeout(function(){
//whatever the heck you want do to:
//open window:
window.open('new_window_url');
//change location?
window.location = "new_location_url";
}, 7500); //7.5 seconds
setTimeout('changeLocation()',7000);
function changeLocation()
{
window.location="playNow.html";
}
像这样使用
.fadeIn()
的回调
.fadeIn('slow',function(){//在淡入完成后执行此操作})代码>这是您缺少的行:
setTimeout(function() {window.open('playNow.html');}, 7000);
但是我喜欢Matijs把它放在动画回调中的想法。哦,天哪,我现在觉得自己很愚蠢。我把时间浪费在delay()上,当我尝试使用setTimeout时,我从来没有向它传递匿名函数,相反,我使用的是某个博客的一些代码,这显然不好。谢谢。小心你的卷曲引号…你的代码工作正常,但是我试过了,但是没有用。我以为是一样的。setTimeout(“window.location.href('playNow.html')”,7000);您询问是否在新窗口或选项卡中打开它-为此,请使用窗口。打开。如果要重定向当前窗口,请使用window.location.href
。请注意,正确的语法是window.location.href=“playNow.html”
。不要在函数中使用引号,triggers eval()@mcp:这是一个非常好的答案,有用的注释将OP的bug固定住了。不管怎样,多亏了你,现在情况更好了——没有了eval
:)(我认为应该进行一次投票……)