2012-01-13 5 views
5

私は単純なスライドトグルの後に、より多くのリンクを読んだり、その後にリンクを開いたりしています。jQuery:More/Less Slide Toggle?

正確にthisと同じですが、そのように表示されるのではなく、下にスライドする必要があります。

単語やボックスの高さにかかわらず、初期高さを設定する必要があります。

どのようなアイデアを達成するのは簡単ですか?なし:(ブロック/隠れて表示)任意のヘルプ:)

+2

チュートリアルに従わないと、slideToggle()でトグル()をリンクして変更するのはなぜですか? – Miquel

答えて

0

あなただけを示すかの要素を隠し利用トグル()関数を、前述の例を見てください任意の効果。

スライドテググル()関数を使用する必要があります。これは同じことをしますが、スライドする効果があります。

$("button").click(function(){ 
    $("p").slideToggle(); 
}); 
+0

ありがとうございました、私は 'less read'に変更するために 'もっと読む'必要があります。スライドを上下にスライドする例がいくつか見つかりましたが、本当に変更する必要があります。 – Jezthomp

0

あなたはjQueryの.slideする機能で構築を(使用)または(アニメーション可能性)

ので、代わりに使用して:

$('#someElement').html('some content'); 

は、あなたがしたい

$('#someElement').html('some content').slideDown(some speed ie 600); 

を試してみてください最初にコンテンツ領域を非表示(つまり、表示:なし)する必要があります。 id /クラスのdivでコンテンツをラップし、表示するように設定することができます:なし

3

後で、このプラグインは非常に便利です。それは、シンプルでありながら効果的です偉大なオプションのトンと非常に柔軟な

http://plugins.learningjquery.com/expander/

+0

テキストが複数の行を超える場合は、「more」テキストの前に改行があります。悪い。 – oyvey

4

を持っています。

$(".button").click(function(){ 
    var moreAndLess = $("p").is(':visible') ? 'More' : 'Less'; 
    $(this).text(moreAndLess); 

    $("p").slideToggle(); 
});