"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Puedes resolver este problema?

¿Puedes resolver este problema?

Publicado el 2024-09-26
Navegar:539

Can you solve this problem?

Digamos que tenemos dos div, uno interno y otro externo.

El div interno es responsable del zoom y la panorámica (realizado mediante transformaciones CSS, traducción y escala).

Ahora se pueden agregar nuevos divs al div interno arrastrando y soltando. Los eventos de caída son aceptados por el div externo

Ahora, durante el evento de caída obtienes la posición del clienteX, clienteY, ahora usando esto encuentras la posición de caída correcta en relación con la división interna.

aquí hay una posible solución (pero la posición final se ha desplazado cuando se hace zoom)

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)
}
Declaración de liberación Este artículo se reproduce en: https://dev.to/paul_freeman/can-you-solve-this-problem-e22?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3