
بهترین محصولات دیجیتال
با کیفیت ترین محصولات با قیمت مناسب

تخفیف های ویژه
فرصت های استثنایی برای خرید

پشتیبانی 24 ساعته
همیشه در کنار شما هستیم
بهترین لپتاپ ها با قیمت مناسب
جدیدترین موبایل ها
انواع لوازم جانبی
قدرتمند با چیپ M2 Pro، نمایشگر Liquid Retina XDR.
دوربین 200MP، قلم S Pen داخلی، نمایشگر Dynamic AMO...
نویز کنسلینگ پیشرو، صدای Hi-Res، طراحی جدید.
گیمینگ قدرتمند و قابل حمل، نمایشگر Nebula.
Dynamic Island، دوربین 48MP، چیپ A16 Bionic.
سنسور اپتیکال Focus Pro 30K، طراحی ارگونومیک.
در این چالش، یک سیستم سبد خرید پیادهسازی شده است که دارای ویژگیهای زیر میباشد:
محصولات بالای 100 هزار تومان: رایگان
محصولات زیر 100 هزار تومان: 5 هزار تومان به ازای هر محصول
10% از مجموع هزینههای سبد خرید
از آرایههای JavaScript برای ذخیره اطلاعات محصولات و سبد خرید استفاده شده است.
توابع مختلف برای محاسبه هزینههای ارسال، مالیات و جمع کل پیادهسازی شدهاند.
با هر تغییر در سبد خرید، محاسبات به صورت خودکار انجام میشود.
الف) تعریف سبد خرید:
ب) تابع formatPrice(price):
ج) تابع calculateProductShipping(price):
د) تابع addToCart(productId):
ه) تابع removeFromCart(productId):
و) تابع updateQuantity(productId, newQuantity):
ز) توابع محاسباتی هزینههای سبد خرید:
calculateShipping()
: محاسبه مجموع هزینههای ارسال تمامی آیتمهای سبد.calculateSubtotal()
: محاسبه جمع حاصلضرب قیمت هر آیتم در تعداد (جمع جزء).calculateTax()
: محاسبه مالیات ۱۰٪ مربوط به جمع جزء (با استفاده از Math.floor).calculateTotal()
: محاسبه مبلغ نهایی با جمع کردن جمع جزء، هزینه ارسال و مالیات.ح) تابع saveCart():
ط) تابع updateCartUI():
ی) تابع showToast(message, type):
الف) رویداد آماده شدن صفحه:
ب) مدیریت ناوبری – کلیک بر روی دستهبندیها:
category-item
و data-category)، کاربر به صفحه محصولات هدایت شده و دستهبندی انتخابی به عنوان پارامتر ارسال میشود.پ) مدیریت پروفایل:
profile-status.json
ارسال میشود و در صورت موفقیت اطلاعات دریافت شده در یک مدال نمایش داده میشوند.ت) بارگذاری محصولات منتخب (Featured Products):
loadFeaturedProducts()
از طریق Ajax فایل products.json
را دریافت کرده، محصولات دارای ویژگی featured را فیلتر کرده و به صورت کارتهای محصول در المنت #featuredProductGrid
نمایش میدهد.الف) آرایه global products:
ب) توابع فیلتر و نمایش محصولات:
displayProducts()
ارسال شده تا به صورت کارتهای محصول نمایش داده شود.ج) تابع showQuickView(productId):
د) تابع initializeProducts():
setupFilters()
فعال میشوند.ه) تابع setupFilters():