Представьте шахматную доску. У нее есть горизонтальные и вертикальные полосы, которые пересекаются под прямым углом. Эффект которого нужно добиться на JS (без canvas): за любую из клеточек доски можно потянуть вдоль любой оси и за ней "прокручивается" соответствующая линия, на которой она расположена (если за клетку тянуть влево-вправо, то смещается горизонтальная линия; аналогично для вертикальной).
В вопросе я не ожидаю полного решения, вопрос скорее про мысли, как это можно реализовать.
Возможно, у кого-то в закромах отыщутся свои codepen'овские ништяки, библиотеки, примеры чужих решений и т.д., которые каким-то боком подходят под мою задачу.
Интересный вариант. Но можно ли с ее помощью тащить сразу несколько элементов в группе с привязкой по оси?
Например, горизонтальная компонента вектора направления драга превышает вертикальную. То есть я хочу перемещать всю горизонтальную линию (в примере с шахматной доской - 8 клеточек, стоящих в том же ряду, на клетке которого произошло событие драга).
MagicMight, можно как угодно тащить. Это же просто удобная обёртка над стандартными методами. Пишите код так, чтобы работал как нужно и можно крутить в 3D даже.
xmoonlight, вопрос как раз не в том, как управлять драгом объекта.
Сложность именно в алгоритме, по которому происходит взаимодействие со всей сеткой, что скроллится только одна зафиксированная линия, а остальные в это время остаются на месте. Пока что библиотека не выглядит покрывающей именно этот кусок задачи
xmoonlight, хочу добавить такую специфическую механику для выбора пользователем условной карточки чего либо. Изначально виден блок 5х5 карточек, остальные подгружаются с сервера, когда из "скрытой" области он драгом подтягивает свободную клетку. На словах неимоверно тяжело объяснять, извиняйте
MagicMight, Вектор старта захвата и смещения нужно определять - направление того, что скроллят и куда (одно из 4-х).
И, по определённому (на основе вектора) направлению, смещать либо строку, либо столбец.
По-другому - никак не сделать.
xmoonlight, да, задачу определения направления по компонентам перемещения я решил. Вопрос в том, как представить такую плитку в верстке? Пока есть безумная идея переопределять grid-aria для всех блоков определенной линии. Но она больше остальных идей похожа на правду.