システムにアコーディオンがあり、コンテンツを ajax で埋めます。現在のシステムでは onClick イベントで言及されています。そのため、関数呼び出しは開店時間と閉店時間に発生します。
アコーディオンのオープン時間だけに制限する必要があります。
あなたの特定のコードを見ることはできませんが、私がどのようにそれを行ったのか、大まかに説明することはできます...
$('.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 つのイベントが定義されています。展開して折りたたむ。展開時に、データの「状態」が設定されているかどうかを確認します。設定されていない場合は、この領域がクリックされたのはこれが初めてなので、コンテンツをロードして、「状態」データを「展開」に設定します。閉じられているかどうかに関係なく、データは以前にコンテンツ領域にロードされているため、まったく設定されていない場合は何もしません。
それは役に立ちますか?