Уроки jQuery практика- делаем простой аккордеон

Поделиться
HTML-код
  • Опубликовано: 16 ноя 2024

Комментарии • 68

  • @magistr4815
    @magistr4815 7 лет назад +18

    Вы здесь написали полнейшую чушь. У вас в html переменная "data-accordion" равна OPEN, следовательно всё что вы прописали в JQ в IF где "if (data === 'close'){" и так далее, тупо не будет вызывать и работать, весь ваш аккордtон работает за счет ОДНОЙ СТРОЧКИ "$(this).next('.accordion-body').not(':animated').slideToggle()".
    Очень интересно вы пишите)) я поржал) У меня прям неистово бомбануло, и я долго ждал когда же вы исправите или добавите open. По итогу у вас 13 строк кода В НИКУДА!
    Пруфы: codepen.io/magistr4815/pen/prYeMM
    Я там коментами пометил что можно удалить и всё будет продолжать работать. Программист блин.
    А ещё, ну так для справки, в JQ обычно в самом начале объявляется функция, в которой пишется весь код. Делается это для что бы подождать пока загрузится html и css, и не вызывать потом функцию аккордеон отдельно. Это основа когда ты пишешь на JQ.
    А ну и ещё, есть разница между IF == и === идентично или просто равно, у вас не было необходимости юзать ===. Почитайте на досуге.

    • @zaurzaurzaurxau9960
      @zaurzaurzaurxau9960 7 лет назад

      Молодец! Ото думаю что то не то с моим кодом!

    • @Ingvarsson-Ukr
      @Ingvarsson-Ukr 6 лет назад

      А вас не смущает тот факт, что в вашем коде из одной строчьки стрелочьки остаються статическими?

    • @konstantintrykov8366
      @konstantintrykov8366 6 лет назад +2

      В вашей версии с удалёнными 13 строками крестик не перевернётся на 45% ))

    • @ЕгорАртУльтра
      @ЕгорАртУльтра 4 года назад +3

      Посмотрел видео мне понравилось . Есть что изменить , но вполне адекватно показывается. А к тебе magistr4815 есть пару вопросов: с чего такой негатив в критике ты сам можешь записать видео более подробно и правильно или ты можешь только 3/14 -здеть ???

  • @neofit3157
    @neofit3157 7 лет назад

    всегда люто плюсую, хочу чтобы вы продолжали :)

  • @lockd0wnll178
    @lockd0wnll178 5 лет назад

    Немного подправить код в html + css и можно в одну строчку. $(this).toggleClass('active').next().slideToggle(500);

  • @hycode05
    @hycode05 6 лет назад +3

    Вот вам рабочий код
    $('.accordion-title').click(function(){
    $(this).toggleClass('active');
    $(this).next().toggleClass('active');
    $(this).next().slideUp();
    if( $('.accordion-body.active') ){
    $('.accordion-body.active').slideDown();
    }
    });

  • @Ingvarsson-Ukr
    @Ingvarsson-Ukr 6 лет назад +1

    Такой вопрос: как в этот код добавить условие, чтобы содержимое первого контейнера по умолчанию было открытым. И что бы при этом при последующем клике на другом "хедере", уже ранее открытые контейнеры закрывались?

  • @lostvayne6247
    @lostvayne6247 4 года назад +2

    урок классный но много лишних строчек кода, я сократил ваш код до :
    $(document).ready(function(){
    $('.accordion-header').on("click", function(){
    $(this).next('.accordion-body').slideToggle();
    $(this).toggleClass('active');
    });
    });

  • @ВадимКот-н7й
    @ВадимКот-н7й 7 лет назад +4

    Для работы с data атрибутами в jQuery имеется метод .data() api.jquery.com/data/

  • @magnumKOM
    @magnumKOM 7 лет назад +1

    Спасибо за уроки jQuery! Было бы хорошо если сделать несколько примеров использования Ajax. Интересно еще что-то сделать с "Json"

    • @SuprunAlexey
      @SuprunAlexey  7 лет назад

      +Aleksandr Kovel посмотрим

  • @ДмитрийФедоров-ф5ы
    @ДмитрийФедоров-ф5ы 7 лет назад +1

    уроки cупер! было бы интересно посмотреть видосы, как делается калькулятор с ползунками, селектами, чекбоксами и тд...

  • @dis1755
    @dis1755 3 года назад

    Автор, а ты тестировал, что написал? Нажми дабл кликом на свой акардеон. Пока у тебя отрабатывает анимация слайда, крестик снова сделается минусом и получится открытый список с Плюсом справа. Держу в курсе.

    • @SuprunAlexey
      @SuprunAlexey  3 года назад

      Та вроде как на видео прям тестировал

    • @dis1755
      @dis1755 3 года назад

      @@SuprunAlexey Ты тестировал работоспособность кода, он рабочий да. Но есть баг, который я выше описал) Можно пофиксить, поставив скорость анимации fast

  • @stanislavsavuliak236
    @stanislavsavuliak236 4 года назад

    спасибо, очень помог!))

    • @fures4975
      @fures4975 4 года назад

      У вас работает?

  • @neofit3157
    @neofit3157 7 лет назад

    добрый день, я правильно понимаю что через кастомный css вы предпочитаете сами настраивать стили, я вот привык использовать bootstrp3 для простоты, или вот еще нравится w3, и как правило этого для стилизации фронтенда мне достаточно (соответственно все фишки css я и не знаю), ну js+jquery это само собой маст хев, прокомментируйте пожалуйста

    • @SuprunAlexey
      @SuprunAlexey  7 лет назад +2

      Вы же бэкэндщик насколько я понял? Вам достаточно этого знать)

    • @neofit3157
      @neofit3157 7 лет назад

      ок, спасибо, согласен :)

  • @ДенисМ-о4м
    @ДенисМ-о4м 4 года назад

    Почему у меня юникод-символ плюса отображается в виде пустого квадратика? Как пофиксить? Все делаю, как в видео. Кодировка UTF-8.

  • @ivaninvv
    @ivaninvv 7 лет назад +1

    яб перезалил видос. Отрефактори ифы. + есть сомнения в работе кода.
    Было бы плюсом вести на гитхабе исходники уроков.

  • @itsokey1127
    @itsokey1127 7 лет назад

    четко, ровно , збс

  • @nelkor3427
    @nelkor3427 7 лет назад

    Ставь лайк, если тоже всегда получаешь значения атрибутов data-name методом attr)

  • @Котлетон
    @Котлетон 6 лет назад

    Вместо текста у меня флексбокс, когда он раскрывается все его настройки слетают к дефолтным. Че делать ?

  • @TheManblax
    @TheManblax 7 лет назад

    Посмотрев несколько роликов, замечаю лишние CSS свойства.
    Так трудно отредактировать и удалить их?
    Зачем новичкам лишний информационный хлам?
    С теорией норм, а вот с практикой не очень.
    За теорию я благодарю, знаю что есть документация, но ролик с объснениями не помешает.

  • @Свинопас-т4я
    @Свинопас-т4я 6 лет назад

    народ а как добавить условие чтобы одна лишка была открыта по умолчанию и открывалась бы при клике только одна ли а остальные закрывались ?

  • @КайратМардушев-ф1е
    @КайратМардушев-ф1е 6 лет назад +2

    все сделал по уроку, не работает, проверил 100 раз, тупо время убил. Придется самостоятельно разобраться с js

  • @3664-w1v
    @3664-w1v 4 года назад +1

    30 минут писал код нечего не раюотает

  • @lukasich7882
    @lukasich7882 7 лет назад +4

    видео про php будут ?

    • @SuprunAlexey
      @SuprunAlexey  7 лет назад +1

      Обязательно!

    • @lukasich7882
      @lukasich7882 7 лет назад

      распространяю твой видосы в грузинской IT сфере !!

    • @SuprunAlexey
      @SuprunAlexey  7 лет назад

      Спасибо!

    • @neofit3157
      @neofit3157 7 лет назад

      как у вас в Грузии с работой для бекендщиков python/django/mуsql?

    • @lukasich7882
      @lukasich7882 7 лет назад

      и python/django есть но редко сениор python в грузие навернаи вобше нету тут php

  • @alikhanaghazade9838
    @alikhanaghazade9838 7 лет назад +2

    можете сделать урок верстки где будет использовано все наши знания html,css,javascript,j-Query такое full-stack front end

    • @SuprunAlexey
      @SuprunAlexey  7 лет назад

      +Ja Sa да, как то надо будет

  • @wswebus922
    @wswebus922 7 лет назад

    Слабенький пример.
    Если поставить на странице 2 аккордеона с атрибутом data-accordion="close" то, при клике, они будут конфликтовать. Если у меня открыт первый аккордеон и я нажму на второй, то второй не откроется, а первый закроется =D
    codepen.io/wsjs/pen/Ojrjxa?editors=1000

    • @SuprunAlexey
      @SuprunAlexey  7 лет назад

      Кто ставит на странице 2 аккордеона? Если проект предполагает такое, то и делать его нужно совершенно по другому)

    • @wswebus922
      @wswebus922 7 лет назад

      Web Developer Blog заказы бывают разные и 2 аккордеона не исключение :) Хотелось бы посмотреть как делать правильно виджеты для сайтов

  • @metis2432
    @metis2432 7 лет назад

    Почему нельзя было просто обойтись методом для раскрывания аккордеона .stop().slideToggle(); ?

  • @doston5184
    @doston5184 6 лет назад +2

    Зачем так усложнять?
    Вот мой вариант: codepen.io/doston007/pen/KByJaN

    • @mikhailivlev
      @mikhailivlev 5 лет назад

      Спасибо за варик!
      А как сделать вариант, при котором закрываются открытые элементы при клике на закрытый?)

  • @МішаКогут-ы4ч
    @МішаКогут-ы4ч 6 лет назад

    а как вместо - + добавить иконку триугольника?

  • @Dmitrysib85
    @Dmitrysib85 5 лет назад

    Чем дальше, тем ужасней ))

  • @olenakunina1
    @olenakunina1 5 лет назад

    accordEon....

    • @SuprunAlexey
      @SuprunAlexey  5 лет назад

      Вы там курс ещё не записали? :)

  • @ГавриилНикитин
    @ГавриилНикитин 5 лет назад +1

    Честно вообще ничего не объясняешь , просто сам себе написал и все (