我正在使用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'
};
答案 0 :(得分:0)
你试过这个吗?
$("#accordion").livequery(function() { $(this).tabs("#accordion .div_body", { tabs: '.img_bgr', effect: 'horizontal' });