jQuery UI вложенный аккордеон: возможно ли иметь заголовок, который не открывается? - PullRequest
2 голосов
/ 25 января 2012

Я пытаюсь создать вложенный навигационный аккордеон с помощью пользовательского интерфейса. (Существует множество альтернативных методов, но я бы хотел придерживаться пользовательского интерфейса.) Это то, что я понимаю, чтобы быть правдой - поправьте меня, если я ошибаюсь: Базовая форма аккордеона jQuery на официальном сайте :

<div>
   <h3><a href="#">Section 1</a></h3>
   <div>
      Section 1 content
   </div>
   <h3><a href="#">Section 2</a></h3>
   <div>
      Section 2 content
   </div>
   ...
</div>

Вы можете вкладывать аккордеон второго уровня в каждую из секций, например где написано "Содержание раздела 1":

<div class='accordion'>  
  <h3><a href="#1">1</a></h3>
  <div>
    <div class='accordion'>
      <h3><a href="#1a">1.a</a></h3>
      <div> Data from 1a</div>
      <h3><a href="#1b">1.b</a></h3>
      <div></div>
    </div>
  </div>
  <h3><a href="#2">2</a></h3>
  <div>
    <div class='accordion'>
    ...

Каждый заголовок, тем не менее, хочет открыть свой соответствующий <div>, даже если он пустой (например, # 1b). Можно ли разрешить заголовку сохранять привлекательную форму в стиле CSS, но просто функционировать как href?

Заранее спасибо.

1 Ответ

8 голосов
/ 19 апреля 2012

Это не правильный метод.

Просто объявите вторичные уровни аккордеона в JS, соответственно идентифицируйте вторичные div (ы), а затем используйте тот же код, что и на первичных уровнях.Неважно, что вы положили в href.

например $("#accordion,#subaccordion1,#subaccordion2,#subaccordion3").accordion({ });

См. Пример здесь .

...