2016-09-13 4 views
-3

私はliulという要素で折りたたみ可能なツリーを構築しました。 jQuery.fadeInjQuery.fadeOutをそれぞれ使用して、これらの関数を入れ子にしたul要素に適用してツリー内の分岐を表示しています。jQuery fadeIn:子供は退屈すべきではありません

ほとんど完全に機能しますが、折りたたまれたブランチが表示されているときに小さな問題が表示されます。表示するブランチに折りたたまれたブランチが含まれている場合、これらのブランチの折りたたみ状態は保持されず、

<li id="branch1"> Item 1 
    <ul style="display:none"> 
    <li> Branch 1 
     <ul style="display:none"> 
     ... 
     </ul> 
    </li> 
    </ul> 
</li> 

私は今、次を呼び出す場合は、また支店1がフェードインされます。

jQuery("#branch1 ul").fadeIn(); 
+3

コードサンプルを提供していない限り、私たちは手助けできません。 – kapantzak

+0

私は質問を更新しました... – 0xDECAFBAD

答えて

0

そのクエリは要素の両方を取得しているため。 $( '#branch1 ul')はそれらを両方返す。

  var a= jQuery("#branch1>ul") 
      a.fadeIn(); 
+0

はい、それは問題でした。 – 0xDECAFBAD

0

誤ったjQueryセレクターを使用して複数の要素に機能を適用することは、私の問題でした。関数は期待どおりに機能するはずです。

0

あなたのコードの構造は、あなたのjQueryのコードは仕事になります。この構造内でこの

<ul> 
    <li id="branch1"> Item 1 </li> 
    <ul style="display:none"> 
     <li> Branch 1</li> 
     <ul style="display:none"> 
     <li> Branch 3</li> 
     </ul> 
    </ul> 

ようになります。

  jQuery("#branch1 ul").fadeIn(); 
関連する問題