0

こんにちは、この Web ページの指示に従いました。Bloggerのような折りたたみ可能なアーカイブ ブロックを Drupal 7 サイトに追加すると、すべてが「ある程度」機能しているように見えて驚きました。このページの右側にある「折りたたみ可能なブロック」からわかるように、他の月を表示するときにブロックを開いたままにしたくないようです。これは意図した動作ではないと思います。

jQuery(document).ready(function($) { 
    // init: collapse all groups except for the first one
    $(".view-collapsible-archive ul").each(function(i) {
        if (i==0) {
            $(this).siblings("h3").children(".collapse-icon").text("▼");
        } else {
            $(this).hide();
        }
    });
 
    // click event: toggle visibility of group clicked (and update icon)
    $(".view-collapsible-archive h3").click(function() {
 
        var icon = $(this).children(".collapse-icon");
 
        $(this).siblings("ul").slideToggle(function() {
            (icon.text()=="▼") ? icon.text("►") : icon.text("▼");
        });
    });
});

クリックしたときにメニューブロックを月に開き、他の「月」を閉じるために何か提案してもらえますか?

ありがとう

4

2 に答える 2

1

問題は、あなたが持っているコードがすでにファイル内に追加されており、http://netmagpie.com/sites/all/themes/feverultra/js/feverultra.jsその後ファイルを追加することで、イベントに2回バインドし、関数が2回トグルするため、要素が開いたり閉じたりすることです

1 か月だけ開いておきたい場合は、次のように、クリックされた月を開く前に、開いている月をすべて閉じる必要があります。

jQuery(document).ready(function($) { 
    // init: collapse all groups except for the first one
    $(".view-collapsible-archive ul").each(function(i) {
        if (i==0) {
            $(this).siblings("h3").find(".collapse-icon").text("▼");
        } else {
            $(this).hide();
        }
    });

    // click event: toggle visibility of group clicked (and update icon)
    $(".view-collapsible-archive h3").click(function() {

       $('.view-collapsible-archive ul:visible').not($(this).next('ul')).slideUp();

        var icon = $(this).find(".collapse-icon");
        $(this).siblings("ul").slideToggle(function() {
            (icon.text()=="▼") ? icon.text("►") : icon.text("▼");
        });
    });
});
于 2013-08-15T05:49:50.453 に答える
1

これは、次の行が原因です。

$(this).siblings("ul").slideToggle

「スライド アニメーションを使用してすべての ul 要素の状態を切り替えます」

非表示の場合はこれを SlideDown に変更して表示し、表示されている場合は SlideUp に変更して非表示にします。

コード サンプルを提供しますが、現時点では iPhone で親指 1 本で入力しています。

于 2013-08-15T03:23:58.330 に答える