2011-02-04 3 views
1

패널 1과 2를 닫은 상태로 유지하면서 JQuery 프로그램 호출을 통해 열려면 Jquery UI Accordion의 세 번째 패널을 가져 오는 데 문제가 있습니다. 내 HTML의 구조는 다음과 같다 :jQuery UI Accordion 프로그래밍 방식으로 세 번째 패널을 열 수 없습니다.

<div class="accordion1"> 
<div class="left-menu-title" id="restaurant"> 
    <h3>Restaurant</h3> 
</div> 
<div class="left-menu clickable" id="nav-restaurant"> 
    <div id="cat_581274_divs"> 
    <ul id="nav_581274"> 
     <li><a href="/reservations">reservations</a></li> 
     <li><a href="/menus">menus</a></li> 
    </ul> 
    </div> 
</div> 
<div class="left-menu-title" id="bakery"> 
    <h3>Bakery</h3> 
</div> 
<div class="left-menu clickable" id="nav-bakery"> 
    <div id="cat_581276_divs"> 
    <ul id="nav_581276"> 
     <li><a href="/pastry-chef">our pastry chef</a></li> 
     <li><a href="/bakery-menu">bakery menu</a></li> 
    </ul> 
    </div> 
</div> 
<div class="left-menu-title" id="wine"> 
    <h3>Wine Shop</h3> 
</div> 
<div class="left-menu clickable" id="nav-wine"> 
    <div id="cat_581280_divs"> 
    <ul id="nav_581280"> 
     <li><a href="/wine-shop">about our wine shop</a></li> 
     <li><a href="/wine-tastings">wine tastings &amp; events</a></li> 
    </ul> 
    </div> 
</div> 

내 아코디언은 초기화됩니다 :

$(".accordion1").accordion({ header: ".left-menu-title" }); 

과 잘 작동합니다. 내가 프로그래밍 방식 레스토랑과 3 #wine 와인 숍 패널을 엽니 다하려고하고 베이커리 패널이 닫혀 있지만이 중 하나를 사용할 때 모든 패널이 대신 제 3의 열 :

$('.accordion1').accordion('activate', 2); 

이 작동하지 않습니다도 하지

$('.accordion1').accordion('activate', 'div#wine'); 

$('.accordion1').accordion('activate', 'div#wine h3'); 

을하지 않고

$('.accordion1').accordion('activate', '#nav-wine'); 
01 않습니다

분명히 잘못된 것을하고 있습니다. JQuery와-UI-1.8.5.custom.min.js 및 JQuery와/1.4.2/jquery.min.js를 사용하면

+0

(둘 다 첫 번째 및 두 번째 방법 모두 가능), jquery 및 jqueryui 및 http://jsfiddle.net/ZHQuH의 이전 버전을 사용하는 http://jsfiddle.net/ZHQuH/1/를 참조하십시오./둘 모두의 최신 버전을 사용합니다. 적절한 장소에 코드를 실행하고 있는지 확인하십시오. – davin

답변

3

것은과 같이, 순서대로 실행

$(".accordion1").accordion({ header: ".left-menu-title" }); 
$('.accordion1').accordion('activate', 2); 

가 직접보기 : http://jsfiddle.net/WWPFq/

+0

정확합니다. 내 페이지에서도 작동합니다. 첫 번째 줄을 실행하여 아코디언을 다시 초기화 할 생각을하지 않았습니다. 페이지에서 이미 실행 중이므로 두 번째 명령을 보내서 나중에 이벤트를 활성화하십시오. 그러나 아코디언이 이미 가동 중이더라도 비밀은 두 줄을 다시 함께 보내고있었습니다. – Jonathan

+0

서브 페이지의 [link ((http://www.murphys-atlanta-restaurant.com)]에서 작동중인 jQuery 아코디언을 볼 수 있습니다. 홈 페이지의 accoridon은 약간 다른 코드입니다. – Jonathan