JQuery UI Accordion не может открыть 3-ю панель программно - PullRequest
1 голос
/ 04 февраля 2011

Возникли проблемы при открытии 3-й панели в аккордеоне пользовательского интерфейса Jquery с помощью вызова программы jQuery, при этом панели 1 и 2 остаются закрытыми.Моя структура HTML выглядит следующим образом:

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

, и он отлично работает.Я пытаюсь программно открыть третью панель #wine Wine Shop с закрытыми панелями «Ресторан» и «Пекарня», но когда я использую любую из этих ВСЕХ панелей, открывается только третья:

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

не* не работает

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

и

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

, а также

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

Очевидно, что что-то не так.Использование jquery-ui-1.8.5.custom.min.js и jquery / 1.4.2 / jquery.min.js

1 Ответ

3 голосов
/ 05 февраля 2011

Запустите их по порядку, вот так:

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

Посмотри на это в действии: http://jsfiddle.net/WWPFq/

...