2011-03-13 5 views
1

jquery tools + livequery를 사용하고 있습니다. 4 요소가있는 가로 아코디언이 있습니다. 초기 페이지로드시 PHP 스크립트로 작성되므로 아코디언이 훌륭하게 작동합니다. 첫 번째 탭이 열리고 모든 것이 제대로 슬라이드됩니다. (이 예와 같이 : http://flowplayer.org/tools/demos/tabs/accordion-horizontal.html)Jquery tools (아코디언/탭) + LiveQuery

JSON을 통해 아코디언 요소를 다시로드하는 타이머 이벤트가 있습니다. 그러면 탭이 활성화되지 않습니다. 나는 아코디언이 다시로드되면 라이브 쿼리 이벤트를 첨부하려고 시도했지만, 알아낼 수는 없습니다.

구조는 다음과 같이이다 :

<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' 
}); 

하고 그것이 마치 마법처럼 작동합니다 - 첫 번째 탭이 확장되고, 다른 탭을 클릭하고 클릭하면 확장합니다. 그런 다음 매 순간마다 방아쇠를 당깁니다.

이 시점에서 나는 아름다운 아코디언을 가지고 있지만 활성화되지 않았습니다. 바로 탭입니다.

라이브 검색 이벤트를 다음에 첨부하여 향후 모든 업데이트가 #accordion에 적용되도록하려면 어떻게해야합니까? + http://flowplayer.org/tools/demos/tabs/accordion-horizontal.html
가 3 개 이미지를 상상 -

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

은 본질적으로 내가 모든 클릭 등이 페이지에

을 제어합니다 .tabs에 .live (또는 livequery)을 할당 할 수 있어야합니다 노출 된 텍스트는 json으로 다시로드되고 .tabs는 더 이상 영향을주지 않습니다.

$("#accordion").live('.tabs', function(){ 
"#accordion .div_body", { 
tabs: '.img_bgr', 
effect: 'horizontal' 
}; 
+0

나는 여기에 답을 주었다. 그러나 그것은 사라졌다. 나는 그것을했는지 모른다. 만일 내가했다면, 나는 미안하다. to to respond> .tabs는 jquery 도구와 함께 제공되는 기능이며 모든 클릭과 이벤트를 자체적으로 처리합니다. 위의 함수에서 - $ ("# element_that_contains_tabs") 탭 (트리거로 노출 될 #element은 %, {tabs : % trigger %, effect} 클릭하면 실시간 클릭 허용 .class - > 그것은 여러 번 발사하고 .tabs를 망쳐 놓습니다. 그래서 페이지 전체에 물건이 있습니다.) #unique_id에 할당하려고했는데, 저는 그 기능을 다시 발명했습니다. – vroomer

답변

0

는 당신이 봤어 (물론 작품을 나던)이 같은

?

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