Я использую инструменты jquery + livequery. У меня горизонтальная гармошка с 4 элементами. При начальной загрузке страницы они создаются PHP-скриптом, поэтому аккордеон отлично работает - открывается первая вкладка, и все перемещается правильно. (как в этом примере: http://flowplayer.org/tools/demos/tabs/accordion-horizontal.html)
У меня есть событие таймера, которое перезагружает элементы аккордеона через 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'
};