在jQuery动画之后,location.reload()无法正常工作

时间:2014-04-19 20:01:36

标签: javascript jquery

使用此代码,不会发生任何动画 - 它会直接跳至location.reload()。但是,如果我删除location.reload(),则动画可以正常工作。

我怎么能同时拥有两者?

$( "#welcome" ).animate({
    opacity: 0,
}, 100, function() {
})
$( "#signup_link" ).animate({
    opacity: 0,
}, 200, function() {
})
$( "#forgotten" ).animate({
    opacity: 0,
}, 200, function() {
})

$('.login-container').animate({ opacity: 0, top: "-100px" }, 'fast').delay(3000);

location.reload();

1 个答案:

答案 0 :(得分:1)

也许是这样的:我假设您想要动画并重新加载,因为您将它们放在原始帖子中。 jsfiddle:http://jsfiddle.net/Pv4RV/2/

注意:我评论了重新加载'部分因为它将在页面上生成一个循环。

$.when(
    function(){
            $( "#welcome" ).animate({opacity: 0,}, 100, function() {});
            $( "#signup_link" ).animate({opacity: 0,}, 200, function() {});
            $( "#forgotten" ).animate({opacity: 0,}, 200, function() {});
    }()
).then(
    $('.login-container').animate({ opacity: 0, top: "-100px" }, 'fast').delay(3000)
).then( 
    location.reload() 
)