Drag-and-drop на фронтенде - делаем канбан-доску или аналог Trello

  Рет қаралды 28,825

Диджитализируй!

Диджитализируй!

Күн бұрын

Пікірлер: 76
@cyber_vandal
@cyber_vandal 2 жыл бұрын
Я бы не рекомендовал использовать для позиционирования top и left, а вместо них - translateY и translateX (одно свойство transform: translate(.., ..)). Это даст буст к перфомансу. Такой подход для позиционирования активно используют в анимациях, вместо top/left
@t0digital
@t0digital 2 жыл бұрын
О, спасибо!
@lord8360
@lord8360 2 жыл бұрын
Top left и т.д вызывают рефлоу браузера
@t0digital
@t0digital 2 жыл бұрын
Почитал, кайф. Спасибо, что написали об этом! Сделаю обновление в github репе
@cyber_vandal
@cyber_vandal 2 жыл бұрын
@@t0digital рад, что мои знания пригодились)
@nikitadushakov9432
@nikitadushakov9432 2 жыл бұрын
@@t0digital так же можно навешивать на элементы css-свойство will-change: transform, таким образом указывая браузеру, что элемент будет двигаться это позволит произвести браузеру дополнительную оптимизацию
@abduhamidovjordan3632
@abduhamidovjordan3632 2 жыл бұрын
как же я соскучился по кружке где на фоне сидит какой то мужик и говорит о чем то непонятном
@m-fusion
@m-fusion 2 жыл бұрын
Контент - зачёт. Спасибо за проделанную работу ;) Эбув - первый раз слышу такое 😂Сперва даже не вкурил о чем это ))
@StanislavBeskaev
@StanislavBeskaev 2 жыл бұрын
Что бы не заморачиваться и не слушать загрузку страницы, довольно давно ввели атрибут defer. Он указывается при подключении скрипта js в head. Эта штука сама подключит JS строго после отрисовки всего HTML
@weisshufer
@weisshufer 2 жыл бұрын
Рекламные вставки, от души!🤣
@StanislavBeskaev
@StanislavBeskaev 2 жыл бұрын
Обычно на фронте принято использовать классы для CSS, а для JS data атрибуты. То есть в JS поиск элементов происходит по data атрибутам. В таком случае будет отделено отображение и логики. Если надо будет поправить наименования классов(сделать правильней по БЕМ или переход на другой CSS фреймворк и тд), то JS не надо будет менять и всё продолжит работать
@DevALine
@DevALine 2 жыл бұрын
Спасибо за видео. Всегда с удовольствием смотрю и узнаю что-то новое)
@Vorono4ka
@Vorono4ka 2 жыл бұрын
я очень хотел купить бусти ради этого видео, обязательно куплю в следующем месяце, очень классный контент у тебя, спасибо!
@t0digital
@t0digital 2 жыл бұрын
Спасибооо!
@vuuv5654
@vuuv5654 2 жыл бұрын
Спасибо огромное, сейчас как раз занят созданием такой доски trello, видео очень помогло!!))
@diplspec5758
@diplspec5758 2 жыл бұрын
Круто! Спасибо большое за классное и максимально полезное видео! Как всегда топ!
@stan7657
@stan7657 2 жыл бұрын
Спасибо! Жду-недождусь выхода курса
@Logeru
@Logeru 2 жыл бұрын
Вжух) Полезное продолжение из ТГ)
@StanislavBeskaev
@StanislavBeskaev 2 жыл бұрын
Не раз слышал от front'ов, что у них есть договорённость по расположению свойств в CSS, сначала display, размеры элемента, потом уже украшательства. По типу как в питоне порядок импортов, что бы другим разработчикам было удобней
@VikMoc
@VikMoc 2 жыл бұрын
Алексей, благодарю за очередное классное видео!! Ты крут!!!
@zabejaga9489
@zabejaga9489 2 жыл бұрын
Ничего не понял, но посмотрел с удовольствием )
@TixxxoN
@TixxxoN Жыл бұрын
Классное видео :) Голос похож на моего друга :) Такой же милый мишутка :) Спасибо за код, многое объяснил мне :) 👍
@aleknsandrtronenko551
@aleknsandrtronenko551 Жыл бұрын
Круто спасибо, все наглядно показал и рассказал
@t0digital
@t0digital Жыл бұрын
Рад, что полезно!
@alexnoodles8290
@alexnoodles8290 2 жыл бұрын
как же приятно смотреть ваши видео
@Vjidowkdkcpapqkfjfw
@Vjidowkdkcpapqkfjfw Жыл бұрын
Большое спасибо! Очень круто!
@t0digital
@t0digital Жыл бұрын
Рад, что полезно!
@Mr.Moy-Gospodin
@Mr.Moy-Gospodin 2 жыл бұрын
Круто!
@t0digital
@t0digital 2 жыл бұрын
Благодарю, Мой Господин:)!
@АнатолийГаврилов-ы2ь
@АнатолийГаврилов-ы2ь 2 жыл бұрын
Пушечка
@ГеоргВартанов
@ГеоргВартанов 2 жыл бұрын
Сразу лайк 👍
@GeneralKiberMan
@GeneralKiberMan Жыл бұрын
Лооооооооооооооооооооол, учусь через LMS сейчас, только от МТИ
@wvovaw3052
@wvovaw3052 2 жыл бұрын
Как же вовремя! Спасибо за опыт
@Python_in_UA
@Python_in_UA 2 жыл бұрын
Дякую! Хай Бог вас благословляє! Наснаги, енергії, друзів! May be it will be funny - repeat this 'vanila JS code' but witn 'vanila PyScript' code. For pure comaring. It can be second part of this funny video, isn't it?
@uicodeuz
@uicodeuz 2 жыл бұрын
Кайф
@eugen333eee
@eugen333eee 2 жыл бұрын
Спасибо, классная работа! У меня это реализовано без визуальных эффектов в 14 строк JS. Нет эффекта расталкивания соседей, просто встает после эелемента, над которым бросил. И не знаю как реализовать драг-дроп на мобильном устройстве. Ваш вариант очевидно тоже на сработает на смартфонах. А хотелось бы)))
@НиколайВоронин-о7ъ
@НиколайВоронин-о7ъ 2 жыл бұрын
Хотел "почувствовать ветер в волосах"... Надеюсь в следующих роликах появится ссылка
@IshuckShow
@IshuckShow 2 жыл бұрын
Крутой ролик, красавец, вот именно этого можно побольше?)
@t0digital
@t0digital 2 жыл бұрын
Про фронтенд:)?
@tigranrostomyan9231
@tigranrostomyan9231 Жыл бұрын
Спасибо огромное!! Очень полезное видео. Но мне очень интересно, как Вы реализовали это с фреймворком? (Кажется вы работаете с SolidJS) Просто когда я попытался провернуть такое с React, то понял что сел в лужу..
@allford-a
@allford-a 2 жыл бұрын
А что за академия конокрадства? Я даже загуглил😂
@alexwrite6974
@alexwrite6974 2 жыл бұрын
Крутяк!!! Вопрос, можешь замутить интерфейс где выстраиваются связи между подвижными элементами, а-ля noCode программирование и запилить ролик на эту тему?
@ВладКурлук
@ВладКурлук 2 жыл бұрын
Спасибо за видео. А почему не стал юзать HTML Drag and Drop API? Где есть уже нативные события перетаскивания.
@t0digital
@t0digital 2 жыл бұрын
Посчитал, что полезнее разобраться с вариантом полного управления процессом, в API есть ограничения, в которые (если не здесь, то в другой задаче) можно упереться
@vovergg
@vovergg 2 жыл бұрын
А как такой подход потом прикрутить, к примеру, к React? Во фреймворках же напрямую с DOM-элементами не работают, только с данными в основном. Я когда пробовал канбан на чистом javascript писать, то написал одну функцию, которая рендерит всё, а все изменения делал уже с массивами данных, в которых хранятся записи из карточек (с id записи и id колонки, в которой она находится) и, соответственно, с самими DOM-элементами ничего не делал, они редерятся сами при вызове функции-рендера при изменении в данных. И да, конечно же использовал Html5 drag'n'drop (прочитал в комментах, почему вам он не подходит) просто для визуализации якобы перемещения элементов (конечно же сами элементы при этом не перемещаются, а просто передаются значения в функцию по работе с данными, типа, над каким элементом находишься, там в массиве элементы меняются местами и вызывается функция-рендер).
@АндрейКовыляев-о6и
@АндрейКовыляев-о6и 2 жыл бұрын
а что насчет тачпадов ? тоже сделали ? а с разными размерами экранов совместили ?
@t0digital
@t0digital 2 жыл бұрын
Этот конкретный экран под тач экраны и адаптив даже не планировали. Есть задачи, которые надо делать с компьютера. К тому же это интерфейс автора, не студента. Студеческие будут все с адаптивом и тачем.
@sergeykapshuchenko5695
@sergeykapshuchenko5695 2 жыл бұрын
У нас на работе активно используется днд. Больше интересно как ты бы реализовал хранение порядка этих элементов в базе данных ? При ДнД изменять порядок в бд.
@mavrinsergei
@mavrinsergei Жыл бұрын
Подскажите, я добавил кнопку добавления элемента(который мы потом должны по колонкам перетаскивать), но на него не действует js для передвижения по колонкам что делать куда копать? все стили на нем такие же и драгебл есть
@lyenya
@lyenya 2 жыл бұрын
Привет. Спасибо за видео. Хочу оставить комментарий по пайтону. Я пытался учить его с ютуба, что-то понимал, что-то нет. Но в итоге он никак не дался. Через пару лет, как только он понадобился, я его освоил (азы) за неделю, и сделал 3 программы даже. А сейчас пишу большую. Вопрос : сейчас многие рекламируют профессию пайтон-разработчик, вот реально, нулёвого, обучить, если в этом нет надобности? (а просто типа перспектива - заработка, я лично считаю, что - нет)
@t0digital
@t0digital 2 жыл бұрын
Привет! Человека нельзя ничему научить. Человек может научиться и ему можно в этом помочь, но не более того. То есть, ещё раз, человек может только научиться, САМ. И он должен понимать, для чего он это делает. Обучаться - тяжело. Всем. И если мотивация это «ну на перспективу на всякий случай», то скорее всего её будет недостаточно. Плюс то, что не практикуешь, забывается. Вот вам понадобилось написать программу - это реальный запрос, вы сели и изучили, и сделали задачу. Так работает. А делать что-то на перспективу - не особо.
@ivanselyt
@ivanselyt 2 жыл бұрын
Почему при перечислении фреймворков ты никогда не упоминаешь Vue ?
@t0digital
@t0digital 2 жыл бұрын
2:05
@merlin-ulg
@merlin-ulg 2 жыл бұрын
Как минимум дважды упомянул, если меня не сглючило
@aleksandrdemidov6058
@aleksandrdemidov6058 2 жыл бұрын
А сколько чистого времени было потрачено вами на эту задачку?
@unicoxr5tj417
@unicoxr5tj417 2 жыл бұрын
бро, я чет пропустил? а че случилось с разработкой проекта от А до Я? ну там, с оплатами. Я, блин, жду)
@t0digital
@t0digital 2 жыл бұрын
Пока нет на него времени. Lms доделаем до боевого состояния и затем доделаем донат систему. Я помню о ней
@unicoxr5tj417
@unicoxr5tj417 2 жыл бұрын
@@t0digital буду ждать. Это унылая хренота на созвонах реальность отражает. Я аж икаю)
@Makaler
@Makaler 2 жыл бұрын
Я не совсем понял как работает функция определения айтема находящийся под передвигаемым айтемом? что бы потом всунуть placeholder. У нас, допустим, есть координаты передвигаемого айтема, но как понять что под нашим айтемом лежит другой айтем?
@Makaler
@Makaler 2 жыл бұрын
ps: кажется понял. 17:34 метод elementFromPoint() возвращает элемент по указанным координатам. Я в шоке. Не знал про такой метод.
@t0digital
@t0digital 2 жыл бұрын
@@Makaler да, всё так
@Makaler
@Makaler 2 жыл бұрын
@@t0digital 😍🔥👍
@itforall89
@itforall89 2 жыл бұрын
Почему в JavaScript (0.1+0.2) == 0.3 false?
@paveltarasov4011
@paveltarasov4011 2 жыл бұрын
Смотрю ролики ради рекламы:))
@t0digital
@t0digital 2 жыл бұрын
Реклама двигатель прогресса!
@Alex-kb1ub
@Alex-kb1ub Жыл бұрын
А где ссылку на телегу найти?
@t0digital
@t0digital Жыл бұрын
t.me/t0digital
@redsool1
@redsool1 2 жыл бұрын
не клиЕнт, а клАент
@t0digital
@t0digital 2 жыл бұрын
Ага
@Evervess179
@Evervess179 2 жыл бұрын
Фронт :)))))
АЗАРТНИК 4 |СЕЗОН 3 Серия
30:50
Inter Production
Рет қаралды 935 М.
My daughter is creative when it comes to eating food #funny #comedy #cute #baby#smart girl
00:17
Разрабатывать в Vim или в IDE? Vim vs IDE. Где писать код?
18:46
Перетягивание элементов ( drag & drop) на JavaScript
10:24
WebDev с нуля. Канал Алекса Лущенко
Рет қаралды 46 М.
АЗАРТНИК 4 |СЕЗОН 3 Серия
30:50
Inter Production
Рет қаралды 935 М.