Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) jQuery Как заставить сполер закрываться при вызове другого?

Как заставить сполер закрываться при вызове другого?


     20.02.2014    jQuery    1945

вопрос
Здравствуйте!
Не могу понять, как заставить спойлер закрываться при вызове другого спойлера.Что нужно дописать в код чтобы эта функция срабатывала?
Вот код:

$(document).ready(function(){
$(".spoler-menu").hide();
$(".sp_menu").show();
$('.sp_menu').click(function(){
$(".spoler-menu").slideToggle();
});
});

HTML:

<div class="sp_menu">Кнопка вызова</div>
<div class="spoler-menu">
     Текст спойлера
   </div>

Сам код работает, но не сворачивается при вызове другого спойлера.

Ответил: D0Gmatist


<div onclick="sPo('1')">!!!Кнопка вызова</div>
<div class="spoler spoler-menu1">
     Текст спойлера
</div>

<div onclick="sPo('2')">!!!Кнопка вызова</div>
<div class="spoler spoler-menu2">
     Текст спойлера
</div>


function sPo( id ){

  var item = $(".spoler-menu" + id);

  if (item.css("display") == "none") {
    $(".spoler").hide('slow'); // slow , normal , fast
    $(".spoler-menu"+ id).slideToggle('slow'); // slow , normal , fast
 } else {
    $(".spoler").hide('slow'); // slow , normal , fast
  }

};

Комментарии пользователей (7)

D0Gmatist
225

794 | 281

D0Gmatist - 20 февраля 2014 14:26 - Местный

А есть возможность уникальности class или id

Если да то http://jsfiddle.net/D0Gmatist/GMJst/

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

D0Gmatist
225

794 | 281

D0Gmatist - 20 февраля 2014 14:37 - Местный


Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

monach
46 | 13

monach - 20 февраля 2014 14:52 - Юзер

Все чудесно работает но теперь не сворачивает при повторном клике.какую функцию прописать чтобы сворачивался блок при повторном клике? http://jsfiddle.net/D0Gmatist/vWJTL/

D0Gmatist
225

794 | 281

D0Gmatist - 20 февраля 2014 15:33 - Местный


Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

monach
46 | 13

monach - 20 февраля 2014 15:35 - Юзер

Спасибо большое.Надо учить js срочно.

D0Gmatist
225

794 | 281

D0Gmatist - 20 февраля 2014 15:36 - Местный

А так же если надо подправить скорость открытия закрытия спойлеров
function sPo( id ){

  var item = $(".spoler-menu" + id);

  if (item.css("display") == "none") {
    $(".spoler").hide('slow'); // slow , normal , fast
    $(".spoler-menu"+ id).slideToggle('slow'); // slow , normal , fast
 } else {
    $(".spoler").hide('slow'); // slow , normal , fast
  }

};

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

monach
46 | 13

monach - 20 февраля 2014 15:55 - Юзер

Класс!Спасибо.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы