2011-07-10 3 views
0

jQuery UIアコーディオンウィジェットを使用しています。アコーディオンのchangestartイベントを使用してオープニングアクションをキャンセルすることが可能かどうか疑問です。ドキュメントから:jQuery UIをキャンセルするアコーディオンセクションを開く

// This event is triggered every time the accordion starts to change. 
$(".selector").accordion({ 
    changestart: function(event, ui) { ... } 
}); 

そしてeventresult属性が含まれています。私はこの属性を使ってイベントをキャンセルすることができますが、私はどのような価値が必要ですか?そしてそれが間違った方法なら、どうすれば別の方法で達成できますか?

+0

なぜキャンセルしますか?決して開くことのできないアコーディオンの使用は何ですか? – Mrchief

+0

私はそれを一時停止し、このセクションのコンテンツをAJAX呼び出しで動的に読み込み、このセクションを手動で開きたいと思います。 – sam

答えて

0

createイベントにコンテンツをロードするだけで、アコーディオンが作成されたときにdivにデータがロードされます。

$('.selector').accordion({ 
    create : function(event,ui) { 
     $('.some-div').load('/path/to/data'); 
    } 
}); 

か、アコーディオン

$('.some-div').load('path/to/data'); 
$('.selector').accordion(); 

たり、オーバー全体のhtmlを送信し、それアコーディオン

$('.selector').load('path/to/data').accordion(); 

作ることをする前に、あなたはおそらく、ページの読み込みにコンテンツを読み込むことができますいずれにせよ、定期的にデータをリフレッシュする必要がある場合、ある時点でロード時にdivの内容をロードし、新しいデータをロードするタイムアウトを設定します。

$(function() { 
    $('.selector').accordion(); 

    //Update every minute 
    (function updateDiv() { 
     $('.some-div').load('path/to/data'); 
     setTimeout(updateDiv,60000); 
    })(); 
});