Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Открытие и закрытие блоков по клику


Recommended Posts

Помогите с реализацией!
Нужно сделать что бы все блоки в подвале раздвигались.
Сам код такой:
  Показати вміст
По умолчанию все блоки отключены
footer ul.item {
display:none;
}
Помогите с написанием скрипта!
<script><!--
$(document).on('click', '.open', function(){
  $(this).siblings('.list-unstyled').toggleClass('item');
});
//--></script>
 
Нужно реализовать так чтобы при клике на любой другой блок, должен закрываться предыдущий если он открыт.
Сейчас не скрываются и остаются все открытыми.
И отключить выполнения скрипта если ширина монитора больше чем 992px.
Змінено користувачем helen2014
Надіслати
Поділитися на інших сайтах


вместо строчки

$(this).siblings('.list-unstyled').toggleClass('item');

попробуйте вставить примерно такое

$('.title-f.open + .list-unstyled').removeClass('item');
$(this).siblings('.list-unstyled').addClass('item');

тут первая строчка закрывает все, а вторая открывает нажатый

Надіслати
Поділитися на інших сайтах

  В 13.12.2020 в 18:22, helen2014 сказав:
  Показати вміст
И отключить выполнения скрипта если ширина монитора больше чем 992px.
Expand  

if ($(window).width() <= 992) {

  те мои две строчки

}

Надіслати
Поділитися на інших сайтах

$(function(){
    $('.open').click(function(){
        if($(window).width() <= 992){
            return;
        };
        
        if($(this).next().is(":visible")){
            $(this).next().hide();
        }else{
            $('.list-unstyled').hide();
            $(this).next().show();
        }
    })
})

 

Надіслати
Поділитися на інших сайтах

  В 13.12.2020 в 19:01, fanatic сказав:
$(function(){
    $('.open').click(function(){
        $('.list-unstyled').hide();
        $(this).next().show();
    })
})

 

Expand  

или для красоты вместо hide() - slideUp(), вместо show() - slideDown()

Надіслати
Поділитися на інших сайтах

  В 13.12.2020 в 18:36, Prooksius сказав:

if ($(window).width() <= 992) {

  те мои две строчки

}

Expand  

 

  В 13.12.2020 в 18:30, Prooksius сказав:

вместо строчки

$(this).siblings('.list-unstyled').toggleClass('item');

попробуйте вставить примерно такое

$('.title-f.open + .list-unstyled').removeClass('item');
$(this).siblings('.list-unstyled').addClass('item');

тут первая строчка закрывает все, а вторая открывает нажатый

Expand  

Сделали по вашему примеру.

Скрывается и открывается как о хаотично.

Надіслати
Поділитися на інших сайтах


да, немного не так
 надо

$('.title-f.open + .list-unstyled').addClass('item');
$(this).siblings('.list-unstyled').removeClass('item');

у вас же добавление класса скрывает, а не удаление

  • +1 1
Надіслати
Поділитися на інших сайтах

  В 13.12.2020 в 19:08, Prooksius сказав:

да, немного не так
 надо

$('.title-f.open + .list-unstyled').addClass('item');
$(this).siblings('.list-unstyled').removeClass('item');

у вас же добавление класса скрывает, а не удаление

Expand  

Да, теперь работает все как надо!

Спасибо большое!

  • +1 1
Надіслати
Поділитися на інших сайтах


  В 13.12.2020 в 19:08, Prooksius сказав:

да, немного не так
 надо

$('.title-f.open + .list-unstyled').addClass('item');
$(this).siblings('.list-unstyled').removeClass('item');

у вас же добавление класса скрывает, а не удаление

Expand  

Еще один момент!

При клике на заголовок открывается блок.

Но он также должен скрываться при клике по этому же заголовку.

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

Но и этот блок не закрыть если кликнуть по этому же заголовку.

 

Надіслати
Поділитися на інших сайтах


  В 14.12.2020 в 09:08, helen2014 сказав:

Но он также должен скрываться при клике по этому же заголовку.

Expand  

 

  В 13.12.2020 в 19:01, fanatic сказав:

if($(this).next().is(":visible")){ $(this).next().hide(); }else{ $('.list-unstyled').hide(); $(this).next().show(); }

Expand  

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Остался вопрос с поворотом иконки при открытии блока.

      <div class="footer-col-1 col-xs-12 col-sm-6 col-md-3">
        <div class="title-f  open">Информация<span class="icon-footer-arrow"><i class="fa fa-angle-down"></i></span></div>
        <ul class="list-unstyled item">
          <li><a href="#"></a></li>
         <li><a href="#"></a></li>
         <li><a href="#"></a></li>
        </ul>
      </div>

Иконка в самом заголовке.

У меня получается что заголовок в месте с иконкой поворачиваются на 180 градусов.

Помогите добавить в скрипт поворот иконки на 180 градусов.

<script><!--
$(document).on('click', '.open', function(){
if ($(window).width() <= 991) {
$('.title-f.open + .list-unstyled').addClass('item');
$(this).siblings('.list-unstyled').removeClass('item');
}
if($(this).next().is(":visible")){ $(this).next().hide(); }else{ $('.list-unstyled').hide(); $(this).next().show();
}
});
//--></script>

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.