登录
首页 >  文章 >  前端

你能解决这个问题吗?

来源:dev.to

时间:2024-10-04 15:30:59 429浏览 收藏

最近发现不少小伙伴都对文章很感兴趣,所以今天继续给大家介绍文章相关的知识,本文《你能解决这个问题吗?》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

你能解决这个问题吗?

假设我们有两个 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)
}

理论要掌握,实操不能落!以上关于《你能解决这个问题吗?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>