Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Как заставить сполер закрываться при вызове другого?

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


     20.02.2014    Все вопросы » jQuery    2294

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

$(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
  }

};

11 комментариев

D0Gmatist
Местный

D0Gmatist - 20 февраля 2014 14:26 -

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

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

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

D0Gmatist
Местный

D0Gmatist - 20 февраля 2014 14:37 -


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

monach
Юзер

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

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

D0Gmatist
Местный

D0Gmatist - 20 февраля 2014 15:33 -


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

monach
Юзер

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

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

D0Gmatist
Местный

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
Юзер

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

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

Andrei
Юзер

Andrei - 15 марта 2017 22:09 -

Просто диву даюсь... Статье около 3х лет! А он еще кому-то нужен. (Имею ввиду себя).
Автор, большая просьба, отзовитесь.
Именно Ваш спойлер мне подошел на этот раз. Немного прописал стили и все работает. Хочется довести до идеала. Хотелось бы, чтобы после раскрытия спойлера заголовок менялся. Например вместо раскрыть - скрыть. Думаю смысл поняли.В js не силен. Умею только копировать и вставлять куда нужно. Обращаюсь к Вам как к спецу. Помогите пожалуйста.

vitnet
Эксперт

vitnet - 15 марта 2017 22:34 -


Andrei
Юзер

Andrei - 15 марта 2017 23:15 -

Теперь будет просто не по-людски, если я уйду молча.
Спасибо Вам большое!
А я думал уже как нибудь из другого кода (стороннего) к вашему прилепить, чтоб все заработало.Естественно у меня не получилось бы. Вывод я уже сделал после того, как посмотрел правильный.
Наткнулся на Ваш сайт, скопировал коды, внедрил. Потом решил написать вопрос хозяину скрипта. Еле нашел вновь ваш сайт, так как забыл запрос, который вбивал в поисковик... Ну да ладно.
Спасибо Вам еще раз!

Andrei
Юзер

Andrei - 16 марта 2017 07:34 -

Виктор, здравствуйте. Еще вопросик можно? Ночью не стал писать.
Спойлер работает! Слава богу!
Правда вне зависимости от того какие заголовки я прописал в спойлерах, после раскрытия любого на странице, они ВСЕ меняются на те, которые указаны в js-коде.
Можно заголовок сделать индивидуальным для каждого спойлера?

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

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

наверх