Javascript 使用setTimeout延迟我的脚本

Javascript 使用setTimeout延迟我的脚本,javascript,jquery,settimeout,Javascript,Jquery,Settimeout,我试图做的是:延迟脚本向URL添加特定哈希 我这么做的原因:我有一个jQuery动画,必须在添加URL之前启动 我读过关于setTimeout的文章,但是我一直无法让它工作。我想我可以在动画出现后延迟,但是我没有看到关于这条路线的很多文档。相反,我尝试采用延迟脚本中下一行代码的常见方法,这恰好是URL追加代码。为了更好地衡量,我将动画和附加代码放在下面 function animate() { $(".class").animate({height: "100%"}, $(".

我试图做的是:延迟脚本向URL添加特定哈希

我这么做的原因:我有一个jQuery动画,必须在添加URL之前启动

我读过关于setTimeout的文章,但是我一直无法让它工作。我想我可以在动画出现后延迟,但是我没有看到关于这条路线的很多文档。相反,我尝试采用延迟脚本中下一行代码的常见方法,这恰好是URL追加代码。为了更好地衡量,我将动画和附加代码放在下面

function animate() {
    $(".class").animate({height: "100%"}, 
    $(".class").addClass("open");
}

animate(); // animate the bar up.

//append the url with the comment number and a hash.
var new_hash ="#"+split_comment_number;



var delay = setTimeout(function() {window.location.hash = new_hash;},1500);

最简单的方法是只使用
animate
的回调。它将在动画完成后激发:

$(".class").animate({height: "100%"}, 5000, function(){
    // DO IT HERE
});

最简单的方法是只使用
animate
的回调。它将在动画完成后激发:

$(".class").animate({height: "100%"}, 5000, function(){
    // DO IT HERE
});

您可以在动画函数中提供回调,该回调将在动画完成后立即触发:

像这样:

$(".class").animate({height: "100%"}, 1000 /* duration */, function(){ /*Do something*/ });

您可以在动画函数中提供一个回调函数,该函数将在动画完成后立即启动:

像这样:

$(".class").animate({height: "100%"}, 1000 /* duration */, function(){ /*Do something*/ });

有没有用过?有没有用过?都比猜测计时是否出错更简单、更准确。都比猜测计时是否出错更简单、更准确。