”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 你能解决这个问题吗?

你能解决这个问题吗?

发布于2024-11-09
浏览:131

Can you solve this problem?

假设我们有两个 div,一个内部 div,另一个外部 div。

内部 div 负责缩放和平移(使用 CSS 变换、平移和缩放完成)。

现在可以通过拖放将新的 div 添加到内部 div 中。放置事件被outerdiv

接受

现在,在放置事件期间,您可以获得 clientX、clientY 位置,现在使用它找到相对于内部 div 的正确放置位置。

这是一个可能的解决方案(但缩放时最终位置有偏移)

handleDrop = (e) => {

  const canvasContainerRect = outerDivBoundingRect()
  // const canvasRect = innerDivBoundingRect()

  let finalPosition = { 
            x: (e.clientX - canvasContainerRect.left  - translateX) / zoom,
            y: (e.clientY - canvasContainerRect.top - translateY) / zoom,
        }

  console.log("final: ", finalPosition)
}
版本声明 本文转载于:https://dev.to/paul_freeman/can-you-solve-this-problem-e22?1如有侵犯,请联系[email protected]删除
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3