یک رابط کشیدن و رها کردن بسازید که کاربر بتواند آیتم‌های قابل‌کشیدن را از یک لیست به یک ناحیه هدف منتقل کند و پس از رها کردن هر آیتم، تعداد آیتم‌های داخل ناحیه هدف نمایش داده شود.

6.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:14

0.0

برای حل این مسئله از HTML/CSS برای نمایش لیست و ناحیه هدف و از JavaScript و API کشیدن و رها کردن HTML5 استفاده کنید: به عناصر قابل‌کشیدن صفت draggable="true" بدهید، در رویداد dragstart از e.dataTransfer.setData برای نگهداری شناسه آیتم استفاده کنید، در dragover از e.preventDefault() برای اجازه دادن به رها شدن استفاده کنید و در drop با e.dataTransfer.getData شناسه را گرفته و عنصر را به ناحیه هدف appendChild کنید؛ سپس با بررسی تعداد فرزندان یا شمارنده داخلی متن شمارش را به‌روزرسانی کنید. نکات مفید: از کلاس‌های CSS برای نمایش بازخورد بصری در dragenter/dragleave استفاده کنید، نوع داده 'text/plain' را به کار ببرید و اطمینان حاصل کنید که شناسه‌ها یکتا هستند.

توسط پژوهشگر در 220 روز قبل ساعت 02:14
دسته بندی ها: JavaScript JavaScript for beginner
arash در 220 روز قبل ساعت 10:27

برای پایداری رهاسازی، در رویداد dragover حتما از e.preventDefault() استفاده کنید تا قابِل‌دَراگ بودن باشد. از داده‌های dataTransfer استفاده کنید و در dragstart با setData('text/plain', id) شناسه آیتم را نگه دارید و در drop با getData(id) آن را به ناحیه هدف append کنید. برای بازخورد بصری از کلاس‌های CSS مانند dragover/dragenter/dragleave استفاده کنید تا کاربر بداند چه چیزی قابل رهاست. پس از هر رهاسازی، با شمارش فرزندان ناحیه هدف یا نگهداری یک شمارنده داخلی تعداد آیتم‌های داخل را به‌روز کنید و مطمئن شوید که شناسه‌ها یکتا هستند.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری