1

jQueryでアコーディオンを実装しようとしていますが、問題があります。ボタンを押すとslideToggle、情報が表示されるはずですが、スライドして出入りするだけです。

なぜこのように振る舞うのかわかりません。私は学んでいます。誰かが私を助けてくれれば幸いです。

これは私のJavaScriptです:

$(".wrap-faq  a").on("click",accordion);

function accordion() {
    if($(this).attr("class") != "active"){
        $(".wrap-faq  li  p").slideDown();
        $(this).next().slideToggle();
        $(".wrap-faq a").removeClass("active");
        $(this).addClass("active");
       }
}

JSFiddle デモへのリンクも残します: http://jsfiddle.net/zZaTf/

4

3 に答える 3

0

Ilia が指摘display: noneしているように、 ではコンテンツ テキストが表示されなくなるため、まずそれを取り除きます。initial を呼び出すことで、すべてのコンテンツを非表示にすることができますslideUp()

actual は、次のslideToggle方法で簡単に実装できます。

$(document).ready(function() {

  $('.txt-ans-faq').slideUp(0);

  $('.wrap-faq  a').click(function(e) {
        $(this).next().find('.txt-ans-faq').slideToggle(300);
  });
});

フィドル

于 2013-04-11T15:04:56.280 に答える
0

あなたはクラスを持っていdisplay: noneて、効果は非表示の要素では機能しません。まあ、そうなるでしょうが、あなたはそれを見ることはありません。.txt-ans-faqslide...

于 2013-04-10T00:16:53.870 に答える