2013-02-10 53 views
0

我想用我在这里找到的一个fadein + slidedown脚本在stackoverflow上。jQuery Animate向后播放?

$('#topmenu').animate({ 
    "height": "toggle", 
    "opacity": "toggle" 
}, "slow"); 

$('.post').delay(1000).animate({ 
    "height": "toggle", 
    "opacity": "toggle" 
}, "slow"); 

出于某种原因,这两个动画播放BACKWARDS here ...你能帮助我的原因吗?

回答

2

#topmenu.post需要初始隐藏,以便在使用toggle选项时能够淡入和向下滑动。例如,

#topmenu, .post { 
    display: none; 
} 

在你的情况下,由于要素初始是可见的,该toggle选项将消失并滑动出来。

您还可以在动画之前使用.hide()。但是,我仍然相信在这里使用CSS是最佳解决方案。

注:可以使"show"使用和"hide"代替"toggle"如果你申请的一次性影响。

+0

谢谢,工作! – 2013-02-10 00:32:09

+0

@yckart所有这些都适用于slideDOWN。你怎么用slideUP代替? – 2013-02-10 02:10:14

+0

@NiccolòMineo,那个问题对我来说意味着什么? – Alexander 2013-02-10 07:49:22

0

您可以使用自定义值设置您的动画。

要隐藏:

$('#topmenu').animate({ 
    "height": 0 
    "opacity": 0 
}, "slow"); 

$('.post').delay(1000).animate({ 
    "height": 0, 
    "opacity": 0 
}, "slow"); 

要显示:

$('#topmenu').animate({ 
    "height": $('#topmenu').outerHeight(), 
    "opacity": 1 
}, "slow"); 

$('.post').delay(1000).animate({ 
    "height": $('.post').outerHeight(), 
    "opacity": 1 
}, "slow"); 

或者你甚至可以使用了slideDown /效果基本show和淡入/淡出。