2012-02-18 9 views
2

私の現在のスクリプトはうまく動作し、3つのメニューボタン(menubtn1、menubtn2、menubtn3)がコンテナの高さを変更します。 私がしたいのは、まず高さを0pxにアニメートし、それぞれの高さにアニメートさせることです。jQueryのアニメーションの高さを段階的に

このようにして、高さ= 0pxのときに私のコンテナの内容を置き換えることができます。そして、それがスケールアップして新しい内容が表示されます。ここ

は、これまでのところ、私のスクリプトです:

$(document).ready(function() { 

    $(".menubtn1").click(function() { 
     $(".container").stop().animate({ 
      height: '350px' 
     }, { 
      queue: false, 
      duration: 600, 
      easing: 'easeInOutQuint' 
     }) 
    }); 
    $(".menubtn2").click(function() { 
     $(".container").stop().animate({ 
      height: '200px' 
     }, { 
      queue: false, 
      duration: 600, 
      easing: 'easeInOutQuint' 
     }) 
    }); 
    $(".menubtn3").click(function() { 
     $(".container").stop().animate({ 
      height: '185px' 
     }, { 
      queue: false, 
      duration: 600, 
      easing: 'easeInOutQuint' 
     }) 
    }); 

});​ 
+0

http://jsfiddle.net/craigzilla/RpzpZ/1/ –

答えて

0

あなたは再びそれをアニメーション、「完全」コールバック関数でコンテンツを追加することができます。私もあなたのフィドルを更新

$(".container").stop().animate({height:0},{queue:false, duration:600, easing: 'easeInOutQuint', complete: function(){ 
    $(this).html('your content').animate({height:350},600); 
}}) 

:) http://jsfiddle.net/RpzpZ/3/

はここで別の変形です。それはおそらく私はそれをやるだろう。 コンテンツをhtmlに直接追加しました。それは常に、あなたはこのような何かを行うことができ、コンテンツ

http://jsfiddle.net/RpzpZ/5/

+0

これは魅力のように機能します。 'あなたのコンテンツ'の代わりにDIVを読み込むことはできますか? –

+0

コードは今ではすっきりと見えますが、残念ながらそれを理解することはできません:) 私は自分の「コンテンツ」コードをどこに追加できるのか分かりません。 –

+0

@CraigJonathanKristensenどのようにあなたの別のコンテンツをお持ちですか?既にページ上に隠れたdivがあるのでしょうか、それともajax経由でロードしたいのですか? – Andy

0

はちょうどバックアップコンテナを開き、別のアニメーション関数を呼び出すあなたのアニメーションのコールにコールバック関数を追加することができます。

1

あなたはこのように、代わりに.animate()を使用しての.slideUp().slideDown()を使用することができます。

$(".container") 
    .slideUp("slow", function() { 
     $(this) 
      .html("<p>New content</p> and some other stuff") 
      .slideDown("slow"); 
    }); 

編集

は、内容を変更して、それを下にスライドさせるslideUp-コールバックを使用する例を更新しました再び。

+0

コンテンツは、その場合にslideUpの開始時に設定されます。 – Andy

+0

@Andyもちろん、申し訳ありませんが、コールバックを使用するための私の答えを更新しました。 –

0

の高さに調整されますので、あなたは異なる内容の固定の高さを必要とする場合、私は知らない は、ここで私はslideUpとダウンを使用しました - >

$(document).ready(function() { 
$("#menubtn1").click(function() { 
     $(".container").animate({height:"0px"}, function() { 
      $("#hidden-content").hide(); 
      $("#show-content").show(function() { 
       $(".container").animate({height:"200px"}) 
      }); 
     }); 
    }); 
}); 
関連する問題