我正在使用jQuery工具+ livequery。我有一個有4個元素的水平手風琴。在初始頁面加載時,它們是由PHP腳本創建的,所以手風琴的工作效果很好 - 第一個標籤打開,所有內容都可以正常滑動。 (就像在這個例子中:http://flowplayer.org/tools/demos/tabs/accordion-horizontal.html)Jquery工具(手風琴/標籤)+ LiveQuery
我有一個計時器事件,通過JSON重新加載手風琴元素。一旦發生這種情況 - 標籤不會被激活。一旦手風琴重新加載,我一直試圖附加一個livequery事件,但我無法弄清楚。
結構是這樣的:
<div id="accordion">
<div class="accordion_element>[tab content]</div>
<div class="accordion_element>[tab content]</div>
<div class="accordion_element>[tab content]</div>
<div class="accordion_element>[tab content]</div>
</div>
我通過激活手風琴:
$("#accordion").tabs("#accordion .div_body", {
tabs: '.img_bgr',
effect: 'horizontal'
});
它就像一個魅力 - 第一個選項卡擴展,其它選項卡點擊和點擊時展開。然後我觸發的每一分鐘:
$.getJSON("accordion.php", function(json){
$.each(json, function(key, val) {
//-------parse json here and append each accordion_item (I empty the accordion prior)
$('#accordion').append(accordion_item);
});
});
所以在這一點上我有一個美麗的手風琴,但它沒有被激活 - 它只是標籤。
我如何將livequery事件附加到以下內容中,以便它影響#accordion的所有未來更新?
$("#accordion").tabs("#accordion .div_body", {
tabs: '.img_bgr',
effect: 'horizontal'
});
基本上我需要能夠.live(或的liveQuery)分配給.tabs將控制所有的點擊等
此頁面上 - http://flowplayer.org/tools/demos/tabs/accordion-horizontal.html
想象中的3張圖片+暴露的文本被重新加載json和.tabs沒有進一步的影響。
這樣的(這當然犯規的工作)
$("#accordion").live('.tabs', function(){
"#accordion .div_body", {
tabs: '.img_bgr',
effect: 'horizontal'
};
我在這裏有一個答案 - 但它消失了..不知道如果我這樣做 - 如果我 - - 我很抱歉。迴應> .tabs是jQuery工具自帶的一個函數,它可以處理所有的點擊和事件。所以在上面的函數中,$(「#element_that_contains_tabs」)。選項卡(#element將作爲觸發器被公開點擊%,{tabs:%trigger%,effect} 如果我指派實時點擊.class - >它會多次觸發並且使用.tabs混亂,所以我在頁面上遍佈所有內容=)我試圖將它分配給#unique_id,但是我正在重新發明函數。 – vroomer 2011-03-13 21:28:55