首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用InteractJS拖动多个对象

使用InteractJS拖动多个对象
EN

Stack Overflow用户
提问于 2020-03-23 20:58:23
回答 1查看 122关注 0票数 1

我有一个包含多个对象的容器,并使用InteractJS进行拖动和调整大小。现在我需要同时移动多个选定的对象。看起来https://interactjs.io/docs/reflow允许运行动作序列,但我不能让它工作。我不能只是手动设置我拖动的主对象的位置,因为对象只能在容器内移动,而且由于此计算是由Interact内部完成的,因此我希望使用它的流。

我在这里有个小游乐场https://jsfiddle.net/s1fapto9/2/

有没有人有过这样的互动经验?

EN

回答 1

Stack Overflow用户

发布于 2021-09-13 17:00:07

我的解决方案是通过cycle来移动对象。

从HTML elements .dataset;获取当前对象坐标的

event.delta;获取移动增量的

  1. 将增量添加到其前一个坐标。

事件返回{ widgets.forEach(el => { if(!el.getAttribute('selected')) { return;} const { x: dataX = '0',y: dataY = '0‘}= el.dataset;

const x= (parseFloat(dataX) || 0) + event.delta.x;const y= (parseFloat(dataY) || 0) + event.delta.y;el.style.transform = translate(${x}px, ${y}px);Object.assign(el.dataset,{ x,y });}

编辑后的示例:https://jsfiddle.net/flashTGC/sfvu14q3/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60814044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档