Реализуем клон Trello(трелло) на чистом JS. DragNDrop. Vanilla JavaScript

Поділитися
Вставка
  • Опубліковано 26 лис 2024

КОМЕНТАРІ • 62

  • @lets_try_js
    @lets_try_js  3 роки тому +5

    Какие еще интересные приложения повторить на чистом JS ?

    • @GreatVolcano
      @GreatVolcano 3 роки тому +3

      Socket.io - чат в реальном времени

    • @GreatVolcano
      @GreatVolcano 3 роки тому

      Или, если хорошо шаришь, то простенький crud firebas'а через js

    • @lets_try_js
      @lets_try_js  3 роки тому +1

      По сокетам есть видосик небольшой на сайте

    • @lamer492
      @lamer492 3 роки тому +1

      Figma

    • @lets_try_js
      @lets_try_js  3 роки тому +1

      @@lamer492 ну фигма это очень жестко )

  • @LectorWeb
    @LectorWeb 3 роки тому +3

    Trello - вообще классная штука, уже много лет ей пользуюсь!

  • @user-kc5kr9fq2z
    @user-kc5kr9fq2z Рік тому +1

    Дивлюсь другий раз, шустро кодиш, крутяк))

  • @Eminem6979
    @Eminem6979 2 роки тому +1

    Чувак ты офигенный просто, спасибо, всё получается, медленно но уверенно иду вперед!!!

  • @piratplay4689
    @piratplay4689 3 роки тому +2

    Огромное спасибо за крутой контент!

  • @albeespensor613
    @albeespensor613 2 роки тому +1

    Чотко! Разобрался со всеми вопросами только по твоему видео, спасибо

  • @АлександрМелянюк-ц9ю

    Очень круто получилось) Всё понятно объяснил. Спасибо!

  • @m1akarov2021
    @m1akarov2021 3 роки тому +2

    Крутой контент , делайте дальше =)
    Давайте еще для новичков , практика ++

    • @lets_try_js
      @lets_try_js  3 роки тому

      благодарю) будет

  • @max-ek5uu
    @max-ek5uu 3 роки тому +1

    спасибо!!! Drag and drop🤓

  • @o_boxe
    @o_boxe Рік тому

    привет,а почему ты все другие классы стал прописывать внутри .app{}.что это значит?это значит что ты свойства класса .app также применяешь на другие классы?допустим я писал с расширением .css и там синтаксис этого не позволяет.

  • @egorzhigarev1469
    @egorzhigarev1469 2 роки тому

    Добрый день! Подскажите какой шрифт вы используете в VS Code? Уж больно понравился

  • @pie_company
    @pie_company Рік тому

    у меня dragStart делает элемент прозрачным....и никакие стили не помогают сделать его нормальным.что делать?

  • @АндрейВасютин-э9з
    @АндрейВасютин-э9з 3 роки тому +3

    function delBoard() {
    const boards = document.querySelectorAll('.boards__item')
    for (let i = 0; i < boards.length; i++) {
    const board = boards[i]
    board.addEventListener('dblclick', () => {
    board.remove()
    })
    }
    }
    delBoard()
    и в функцию добавления тоже прописать

    • @lets_try_js
      @lets_try_js  3 роки тому

      Круто! )

    • @ilnarbikkinyaev5473
      @ilnarbikkinyaev5473 2 роки тому

      @@lets_try_js я сделал все похожим образом, но когда я хочу удалить listItem, то у меня все доска тоже стирается. Я так понял они выполняются одновременно. Как можно было бы разграничить области для клика, чтобы они удалялись не совместно?

    • @АндрейЧашин-ы1у
      @АндрейЧашин-ы1у 2 роки тому

      @@ilnarbikkinyaev5473 сделай проверку через ивент. если он нужного класса то удаляй если нет то нет. не стоит благодарности

    • @Novel6789
      @Novel6789 2 роки тому

      @@ilnarbikkinyaev5473 может добавить к событию клика .self ?

  • @TheMrBorne
    @TheMrBorne Рік тому +1

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

    • @TheMrBorne
      @TheMrBorne Рік тому

      Добавление задачи в новую доску сделал, заменив стрелочную функцию на обычную.

  • @romaskhin
    @romaskhin 3 роки тому +2

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

    • @lets_try_js
      @lets_try_js  3 роки тому +1

      вот это интересная идея, спасибо )
      сделал заметочку)

    • @romaskhin
      @romaskhin 3 роки тому

      @@lets_try_js будем ждать )

    • @lets_try_js
      @lets_try_js  3 роки тому +1

      @@romaskhin не знаю когда, но это я точно сделаю, так как мне это действительно показалось интересным))

  • @endoscopy8351
    @endoscopy8351 Рік тому

    Відео супер, хочу повторити і не виходить один момент - карточки при перетягуванні стають напівпрозорі. Як зробити їx непрозорими?

    • @lets_try_js
      @lets_try_js  Рік тому

      не помню как я это делал в коде, но скорее всего где-то нужно исправить свойство opacity с 0.5 до 1

  • @ADULIK1994
    @ADULIK1994 2 роки тому

    можно сделать рефакторинг кода ,,,скажем как на этом коде добавить localstorage. или кликать на элемент и открывался мадалъка с textare ,,, (для каждой элемента индивидуальная )

  • @alimamedov9684
    @alimamedov9684 2 роки тому +1

    Всем привет! У меня такая проблема: когда добавляю newItem в lists ( lists[0].append(newItem) ), то добавляется по "арифметической" прогрессии. При первом добавлении дополнительно один div добавляется (пустой), при втором добавлении уже 2 одинаковых div-ов (дублирует введенное значение), при третьем добавлении уже 3 одинаковых div-ов и так далее. // выражение const lists = document.querySelectorAll('.card__list'); я написал внутри функции addTask, так как иначе кнопки не работали и в консоли выходила ошибка lists[0] is undefined

    • @lets_try_js
      @lets_try_js  2 роки тому

      Если что то работает не так, как должно это означает одно - код неправильный

    • @alimamedov9684
      @alimamedov9684 2 роки тому

      @@lets_try_js Роман, спасибо что откликнулся. Я бы хотел написать код точно как у тебя , но как уже сказал, вне функции я не могу присвоить значение lists переменной. Скорее всего в этом вся проблема. Сегодня пол дня пытался исправить это, не получается:(

    • @lets_try_js
      @lets_try_js  2 роки тому

      У меня нет возможности помочь, нет пк при себе

    • @endiffallengod
      @endiffallengod 2 роки тому

      @@alimamedov9684исправил это?

  • @АндрейЧашин-ы1у
    @АндрейЧашин-ы1у 2 роки тому

    в функции перетаскивания легче было бы через forEach делать

  • @MrKumckuu
    @MrKumckuu 2 роки тому

    Как при обновлении страницы, сохранять результат?

    • @lets_try_js
      @lets_try_js  2 роки тому

      В данном случае например localstorage

    • @ДмитрийКалганов-ю6э
      @ДмитрийКалганов-ю6э 2 роки тому

      через базу данных делать
      там по-сложнее

    • @АндрейЧашин-ы1у
      @АндрейЧашин-ы1у 2 роки тому

      @@lets_try_js я всю голову сломал как прикрутить localStorage. Не выходит ничего

  • @dmitry3241
    @dmitry3241 3 роки тому

    Давай Попробуем: JavaScript можешь показать в следующем видео как правильно реализовать пагинацию на javascript? Было бы интересно посмотреть

    • @lets_try_js
      @lets_try_js  3 роки тому

      Есть видео про пагинацию на реакт, если интересно
      Там можно уловить суть просто как это работает, и внедрить в чистый js

  • @bkrv
    @bkrv 2 роки тому

    Подскажите, зачем нужно было ставить таймер на ноль секунд ? какой в этом смысл если задержка нулевая ?

  • @serjbaidekin
    @serjbaidekin 3 роки тому +2

    Ахха,Алгоритмы Ютуба хоть иногда нормальные видосы рекомендует =)

  • @АндрейЧашин-ы1у
    @АндрейЧашин-ы1у 2 роки тому

    нда удаление досок не такая уж и простоя задача и явно не в одну троку. если решать в лоб то при удалении карточки удаляется и сама доска.

  • @vicerexp
    @vicerexp 2 роки тому

    HOMBRE, POR FAVOR EN ESPAÑOL LOS SUBTITULOS

  • @KlinovAS
    @KlinovAS 2 роки тому +2

    Не люблю SCSS. Вообще не знаю какая от него РЕАЛЬНАЯ польза кроме попугайнической потребности в каждой тупой компании. Создает длинный паравоз классов, что:
    1. никак не экономит место
    2. затрудняет редактирование, так как чтоб перебить правило, нужно создать еще длиннее паравоз и как правило до этого уже использовался !important
    3. затрудняет редактирование, так как не срабатывает подсказка на GOTO # в место редактирование. Нет обратной совместимости!
    4. Прекомпилятор использует язык, который мне нахрен не нужен. И это самое касается и JS дрочева, когда пишут на новом JS, но компилируют в старый. Хоть одну пользу назовите. Вам что руки отваляться если на чистом CSS напишете? Или вы побеждаете в конкурсе по скорости или по качеству? В чем превосходство?
    Я делал личный прекомпилятор для:
    - обновления версий. Когда редактируешь CSS, то в HTML или PHP редактируется *.js?ver0001 (+1), CSS
    - *.TPL компилировался в PHP (если нужно прирост)
    - Автоматический перевод с русского на украинский и английский, чтоб не использовать таблицы и переменный для перевода (клонировался HTML/PHP только другой каталог. Переводились только затронутые новые слова и то вручную, а так можно было HTML/CSS/JS редактировать - все быстро продублирует)
    - еще несколько интересных но полезных тегов упрощающих жизнь, но SCSS никак не упрощает ничего. На Виниле CSS не хуже будет