Как мне это сделать с помощью jQuery Accordion?

#javascript #jquery #jquery-ui #accordion

#javascript #jquery #jquery-пользовательский интерфейс #аккордеон

Вопрос:

Используя пример отсюда:

http://jqueryui.com/demos/accordion/#custom-icons

Я хочу, чтобы эти стрелки и аккордеон работали одинаково, однако мой текущий код выглядит следующим образом со статическим html (использует UL и LI):

 <li id="ecartcategorieswidget-3" class="widget-1 widget-first widget sbg_widget Shop widget_ecartcategorieswidget">
    <h2 class="widgettitle sbg_title">Categories</h2>
    <ul class="ecart_categories">
      <li><a href="http://">category1</a>
        <ul class="children">
          <li><a href="http://">sub-category</a></li>
          <li><a href="http://">sub-category</a>
            <ul class="children">
              <li><a href="http://">sub-sub-category</a></li>
            </ul></li>
        </ul>
      </li>
      <li class="current><a href="http://">category2</a>
        <ul class="children">
          <li><a href="http://">sub-category</a></li>
          <li><a href="http://">sub-category</a>
            <ul class="children">
              <li><a href="http://">sub-sub-category</a></li>
            </ul></li>
        </ul>
      </li>
    </ul>
</li>
  

Как мне заставить пример jQuery работать с моим приведенным выше HTML-кодом, чтобы category1 и category2 были похожи на разделы 1 и 2 в предоставленном примере URL-адреса jQuery? При нажатии на любую категорию все подразделы и подкатегории в этой категории скользят вниз вместе. Это буквально одноуровневый аккордеон с 2 категориями.

Спасибо!

Ответ №1:

В этой статье дается краткое описание того, как создавать списки в виде аккордеона. Вот пример: http://demos.net.tutsplus.com/020_jQueryUI/accordion-jquery-ui.htm .

По сути, просто поиграйте со следующим стилем:

 ul.ecart_categories, ul.ecart_categories ul { list-style: none; margin: 0; }
ul.ecart_categories { border-bottom: 1px solid #000E2E; }
ul.ecart_categories li { border: 1px solid #000E2E; border-bottom: none; }
ul.ecart_categories ul li { border: none; border-bottom: 1px solid #C2C8D1; color: #999; padding: 5px 10px; }
ul.ecart_categories ul li:last-child { border-bottom: none; }
ul.ecart_categories a.heading {
    background: #F4FFF9;
    color: #999;
    display: block;
    font-size: 18px;
    line-height: 18px;
    padding: 10px 5px;
    text-decoration: none;
}
ul.ecart_categories a.heading:hover { background: #00B9D2; color: #fff; }
ul.ecart_categories li.ui-accordion-selected a.heading, ul.ecart_categories li.current a.heading { background: #025185; color: #fff; }
ul.ecart_categories li ul a { border-bottom: 1px solid #00B9D2; color: #025185; text-decoration: none; }
ul.ecart_categories li ul a:hover { border-bottom: none; }
  

Посмотрите, как это выглядит при применении к вашей разметке: http://jsfiddle.net/william/WbTPk/1 /.