Jquery工具(手风琴/标签)+ LiveQuery

时间:2011-03-13 19:40:19

标签: jquery accordion jquery-tools livequery

我正在使用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'
};

1 个答案:

答案 0 :(得分:0)

你试过这个吗?

$("#accordion").livequery(function() {
  $(this).tabs("#accordion .div_body", {
    tabs: '.img_bgr', 
    effect: 'horizontal'
});