Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
4 / 4 / 2
Регистрация: 10.08.2015
Сообщений: 162
1

Не правильно работает slideToggle

08.01.2017, 00:16. Показов 2865. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть блок, который в десктопной версии сайта отображается полностью, а в мобильной (480рх и меньше) только заголовок этого блока, а основная часть скрыта. Нужно чтоб при размере экрана меньше 480рх можно было нажать на заголовок и открыть блок.
Сейчас блок открывается и закрывается несколько раз подряд, помогите найти ошибку
Javascript
1
2
3
4
5
6
7
8
9
$(window).on('resize', function(){
        var win = $(this);
        if(win.width() < 481){
            $('.code h4').click(function(){
                $('.code h4').next().slideToggle();
                
            });
        }
    });
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2017, 00:16
Ответы с готовыми решениями:

НЕ работает эффект .slideToggle
Приветствую) Помогите пожалуйста разобраться почему не работает эффект .slideToggle для выпадающего...

SlideToggle() работает наполовину
В общем есть проблема, хочу для что бы в мобильной версии меню открывалась через кнопку. Для этого...

SlideToggle() отключить событие для блока внутри блока с .slideToggle()
У меня есть такой скрипт: $(&quot;.cl_item&quot;).click(function() { ...

Как работает метод slideToggle() внутри?
Здравствуйте, пишу свои велосипеды, учусь JS и теперь хочу повторить работу метода slideToggle()...

1
118 / 118 / 87
Регистрация: 24.02.2014
Сообщений: 404
08.01.2017, 13:36 2
Закрывается и открывается несколько раз подряд потому что вы при каждом изменении размера экрана вешаете событие... изменили до 480 будет открываться, до 479 открываться и закрываться и т.д. Как то так...

Попробуйте вот так:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(function( $ ) {
  var win = $(this);
  $(window).on('resize', function() {
    $('.code').children("p").css("display", "");
  });
    
  
  $('.code').on("click", "h4", function() {
    if (win.width() < 481) {
      $(this).next().slideToggle();       
    }
  });
  
   
})(jQuery);
Правда не очень красиво будет выглядеть когда размер экрана небольшой, кликнули по заголовку (т.е. раскрыли блок), а потом начали менять размер - блок скроется...

P.S. Непонятно какая у вас разметка и стили
0
08.01.2017, 13:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2017, 13:36
Помогаю со студенческими работами здесь

SlideToggle
ПРивет всем, появилась такая задачка: есть N блоков с одинаковой структурой, надо, чтобы по клику...

SlideToggle
Есть код, который срабатывает при клике по элементу списка, а именно разворачивается меню и...

Почему не работает правильно? Делал по шаблону (html только начал учить) Кто может подправьте чтобы работало правильно,
Почему не работает правильно? Делал по шаблону (html только начал учить) Кто может подправьте чтобы...

Функция slideToggle
При клике на елемент у меня срабатывает slideToggle(); $('.element').slideToggle(function() {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru