Свернуть, скрыть или показать, сделайте это из jsJquery

Программирование на jquery
Ответить
Anonymous
 Свернуть, скрыть или показать, сделайте это из js

Сообщение Anonymous »

Я пишу некоторый блок управления, который переключает пару контейнеров, используя класс «collapse» из загрузочного списка с якорями, который имеет специальный для моих скрытых контейнеров атрибут «href». Вот пример двух элементов списка, которые могут описывать поведение:

Код: Выделить всё


[*]
[url=#collapse1]One[/url]

[*]
[url=#collapse2]Two[/url]

Затем в html-коде я использую некоторый контейнер:

Код: Выделить всё

 SOME IN HERE
SOMETHING ELSE

Поэтому, когда я использую этот материал и первый элемент списка активен, первый контейнер также отображается, потому что я добавляю класс «in» после класса «collapse». Когда я переключаюсь на другой элемент списка, первый контейнер должен исчезнуть, а второй должен появиться. Конечно, у меня больше ссылок на списки и больше скрытых контейнеров, чем два, но это всего лишь пример. Я хочу предотвратить поведение по умолчанию и запретить скрывать активный элемент, щелкнув по нему.

Поэтому я переключаю «активный» элемент списка, щелкая по элементам списка, а также показываю или скрываю точный контейнер, который имеет тот же идентификатор, что и список, поэтому контейнеры связаны с элементами списка, это делается с помощью кода js:

Код: Выделить всё

$(function(){
$('ul li a').on('click', function(){
$(this).parent().addClass('active').siblings().removeClass('active');

var to_toggle = $(this).attr('href');
$('.collapse.in').collapse('hide');
$(to_toggle+':not(".in")').collapse('show');
});
});
И теперь я вижу, что когда я переключаюсь между элементами списка, контейнеры появляются и скрываются правильно.

Когда я нажимаю на вторую ссылку, я вижу, как первый контейнер скрывается, а второй появляется, и наоборот.

Идея в том, что если есть открытые контейнеры, те, у которых есть класс «свернуть», должны быть закрыты с помощью js, но как запретить закрытие активного контейнера?

Например, я нажимаю на вторую ссылку в списке, мой первый контейнер скрывается, второй появляется, я нажимаю на вторую ссылку еще раз, и второй контейнер исчезает, поэтому я ничего не вижу на экране. но элемент списка активен.

Итак, вопрос в том, как изменить js, чтобы только один контейнер мог иметь класс «свернуться» одновременно, и ничто не могло его удалить, пока пользователь не переключит его на другой контейнер, чтобы класс «in» переместился в другой контейнер, который исходит из атрибута привязки «href» и не может быть удален в этом месте?>

Подробнее здесь: https://stackoverflow.com/questions/365 ... it-from-js
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»