Это кажется простым, если вы написали свой собственный обработчик DnD. По сути, перемещение DnD, ограниченное либо вертикальной, либо горизонтальной осями, работает только путем изменения атрибутов CSS left
или top
при динамическом размещении перетаскиваемого элемента.
Вы можете использовать эту же идею, чтобы настроить это сдержанное поведение. Вместо простого перевода (X, Y) текущей позиции мыши для элемента CSS left
/ right
, вы можете использовать X для left
и получить right
, передав его через линейную функцию, например y = mx + b
.