Условие jQuery
есть плагин для WordPress:
https://wordpress.org/plugins/bbspoiler/ необходимо сделать, чтобы при разворачивании одного спойлера другие автоматом закрывались. это я реализовал. но не учел того, что в спойлерам могут быть вложенные спойлеры - при открытии вложенного спойлера автоматом закрывается родительский спойлер. пример такого поведения можно посмотреть тут: http://www.testwp.ru/bbspoiler/ я с js-скриптами очень на Вы и сам не могу правильно составить условие. может кто помочь? |
Цитата:
|
Flector,
отмените всплытие клика
jQuery(".sp-head").on('click', function(event){
*!*
event.preventDefault();
*/!*
$this = jQuery(this);
if($this.hasClass("unfolded")) {
$this.removeClass("unfolded");
$this.next().slideUp("fast");
$this.next().addClass("folded");
$this.prop('title', title.unfolded);
} else {
$this.addClass("unfolded");
$this.next().slideDown("fast");
$this.next().removeClass("folded");
$this.prop('title', title.folded);
}
});
|
Цитата:
сейчас он такой: Код:
jQuery(function(){ |
Вам даже строчку подсветили. Ну как так...
event.preventDefault() |
Цитата:
event.stopPropagation(); https://learn.javascript.ru/event-bubbling |
не знаю, что такое всплытие клика, но боюсь это не поможет.
вернее может поможет, но я не знаю как написать условие, чтобы не сворачивался родительский спойлер при кликах на дочерние спойлеры. проблема именно в условии - я уже и parent и children и прочее пробовал, но все не выходит. максимум чего смог добиться, это чтобы сворачивания\разворачиван я дочерних спойлеров не сворачивали родительский - но тогда и внутри родительского спойлера дочерние не сворачиваются. короче, голова уже пухнет. |
| Часовой пояс GMT +3, время: 08:43. |