我正在尝试做什么:延迟我的脚本将特定哈希附加到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);
答案 0 :(得分:2)
最简单的方法是使用animate
的回调。动画完成后会触发:
$(".class").animate({height: "100%"}, 5000, function(){
// DO IT HERE
});
答案 1 :(得分:1)
您可以在动画功能中提供回调,动画完成后会立即触发:
像这样:$(".class").animate({height: "100%"}, 1000 /* duration */, function(){ /*Do something*/ });