В комментах видео по drag-and-drop подсказали лучший способ позиционирования перетаскиваемого элемента — вместо изменения координат top/left использовать CSS правило transform: translate(x,y). Плюсы такого подхода в общем случае — браузеру легче делать оптимизации производительности, легче задействовать GPU и т.п. Но реализация сложнее, во всяком случае вчера весь день мне так казалось, пока я пытался это натыкать:)



Сегодня на свежачок, умываясь, словил из недр подсознания внезапно всплывшую хорошую идею и она быстренько залетела без больших правок в коде.



Вывод — если что-то долго не залетает, то вполне вероятно, что вы тупите. Стоит отдохнуть, переключиться, возможно поспать, а мозг в фоне вам поможет найти новые подходы.



Разницы в Performance в моей задаче, правда, Chrome dev tools не показал. Двигать один элемент в привязке к мыши видимо не так уж и сложно.



#IT #frontend #css #js #codebetter