卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章78390本站已运行447

你能解决这个问题吗?

你能解决这个问题吗?

假设我们有两个 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)
}
卓越飞翔博客
上一篇: PHP 函数的函数指针如何处理异常?
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏