0

ここでstackoverflowで見つけたfadein+slidedownスクリプトを使用しようとしています。

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

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

何らかの理由で、2つのアニメーションがここで逆再生しています...理由を理解するのを手伝ってもらえますか?

4

2 に答える 2

1

#topmenu.postオプションを使用するときにフェードインして下にスライドできるようにするには、最初は非表示にする必要がありますtoggle。例えば、

#topmenu, .post {
  display: none;
}

あなたの場合、要素は最初に表示されるので、toggleオプションはそれらをフェードアウトしてスライドさせます。

.hide()アニメーションの前に使用することもできます。しかし、CSSを使用することがここでの最適なソリューションであると私はまだ信じています。

注: 1回限りの効果を適用する場合は"show""hide"の代わりにを使用できます。"toggle"

于 2013-02-10T00:17:17.203 に答える
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/slideUpとfadeIn/fadeOutを使用することもできます。

于 2013-02-10T00:25:11.137 に答える