#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 /.