2012-02-18 32 views
1

我有3个div在页面加载时延迟消失。当我按下按钮时,我如何按照与它们相反的顺序淡出它们?我还需要动画完成播放页面重定向如何让我的div以相反的顺序淡出显示在加载

jQuery(document).ready(function() { 
     $("div#helloitsdan").fadeIn(700).delay(2000); 
     $("div#line").delay(700).fadeIn(700); 
     $("div#enter_site").delay(1000).fadeIn(700); 
    }); 

$("a#click").click(function() { 
      $("div#enter_site").fadeOut(80).delay(100); 
      $("div#line").delay(50).fadeOut(80); 
      $("div#helloitsdan").delay(70).fadeOut(80); 
     }); 

回答

1

首先,您应该在init函数中保留所有代码(全局不需要),这将确保在DOM准备好时您的事件被挂钩。然后,所有的动画功能也有一个onFinish回调函数,所以使用它,就像这样:

jQuery(document).ready(function() { 

    $("div#helloitsdan").fadeIn(700).delay(2000); 
    $("div#line").delay(700).fadeIn(700); 
    $("div#enter_site").delay(1000).fadeIn(700); 

    $("a#click").click(function() { 
    var href = $(this).attr('href'); 

    $("div#enter_site").fadeOut(80); 
    $("div#line").delay(50).fadeOut(80); 
    $("div#helloitsdan").delay(70).fadeOut(80, function() { 
     window.location.href = href; // redirect now 
    }); 

    return false; // do not redirect from the click now 
    }); 
}); 
0

尝试传递div的通过一个数组,然后通过它向后遍历之前。另外,您的重定向何时到来?

+0

嗨,蒂姆,感谢您的答复。当按钮被点击时重定向到 – Farreal 2012-02-18 18:52:33

+0

代码中的代码在哪里? – Tim 2012-02-18 18:53:25

0

​​应该更好地在点击按钮事件中淡出效果。

0

您可以使用淡出()方法的回调函数。

$('div').fadeOut(80, function() { 
    $('div2').fadeOut(80, function() { 
     $('div3').fadeOut(80); 
    }); 
}); 

语法可能不完全正确,但它是这样的。

更多关于使用淡出的例子:http://api.jquery.com/fadeOut/