Как отменить действие js на определенном блоке?
Здравствуйте.
Организовал вот такой аккордеон. http://jsfiddle.net/adash/p2twc9Lt/ Все работает прекрасно. Но. Нужно, чтобы действие js не распространялось на первые 2 элемента. Т.е. нужно, чтобы первые 2 блока не сворачивались и были постоянно открыты. Дело в том, что эти элементы генерируются php скриптом (дивы с id tab-x) и просто убрать стили нельзя. |
Не делать их частью аккордеона?
|
trikadin,
А как его не делать, если все #tab-0 #tab-1 #tab-2 и прочие генерируются пхп. И добавляя стили в файл можно добавить ко всем, либо ни к одному |
$('.accordion-header').slice(2).on('click', function (e) { var $this = $(this); $this.parent().toggleClass('expanded'); $this.next().toggle(); $this.parent('.accordion').siblings('.accordion')... //эта строка бессмыслица |
Не, не то. Блоки при этом закрыты полностью. А должны быть открыты и не закрываться...
Этого эффекта я добился внеся такие изменения: $('.accordion-header').filter(':gt(1)').on('click', function (e) { Но первые 2 блока должны быть всегда открыты... |
Причем тут фильтр? А код управляет срезом элементов начиная с третьего. Первые же два просто раскройте, указав необходимое css свойство.
|
laimas,
Дествительно, спасибо, выручили ) |
Часовой пояс GMT +3, время: 20:15. |