"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل يمكنك حل هذه المشكلة؟

هل يمكنك حل هذه المشكلة؟

تم النشر بتاريخ 2024-09-26
تصفح:735

Can you solve this problem?

لنفترض أن لدينا قسمين، قسم داخلي وقسم خارجي آخر.

شعبة الداخلية مسؤولة عن التكبير/التصغير والتحريك (يتم ذلك باستخدام تحويلات CSS وترجمتها وتغيير حجمها).

يمكن الآن إضافة أقسام جديدة إلى القسم الداخلي عن طريق السحب والإفلات. يتم قبول أحداث الإفلات بواسطة القسم الخارجي

الآن، أثناء حدث الإفلات، تحصل على موضع ClientX، ClientY، والآن باستخدام هذا ابحث عن موضع الإسقاط الصحيح بالنسبة إلى القسم الداخلي.

إليك حل ممكن (ولكن تم إزاحة الموضع النهائي عند التكبير)

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