0

システムにアコーディオンがあり、コンテンツを ajax で埋めます。現在のシステムでは onClick イベントで言及されています。そのため、関数呼び出しは開店時間と閉店時間に発生します。

アコーディオンのオープン時間だけに制限する必要があります。

4

1 に答える 1

0

あなたの特定のコードを見ることはできませんが、私がどのようにそれを行ったのか、大まかに説明することはできます...

$('.va-slice').bind("expand", function(evt) {
if (typeof $(evt.target).data('state') === 'undefined') {
     url = $(evt.target).find('.va-content').data("url");
    $(evt.target).find('.va-content').load(url);
    $(evt.target).data('state', 'expanded');    
} else {}
}).bind("collapse", function(evt) {$(evt.target).data('state', 'collapsed');                    
    }).toggle(function() { // toggle between 
        $(this).trigger("expand");
    }, function() {
        $(this).trigger("collapse");
});

各「va-slice」には、基本的にコンテンツ領域「va-content」が含まれており、2 つのイベントが定義されています。展開して折りたたむ。展開時に、データの「状態」が設定されているかどうかを確認します。設定されていない場合は、この領域がクリックされたのはこれが初めてなので、コンテンツをロードして、「状態」データを「展開」に設定します。閉じられているかどうかに関係なく、データは以前にコンテンツ領域にロードされているため、まったく設定されていない場合は何もしません。

それは役に立ちますか?

于 2013-02-02T16:45:34.963 に答える