یک برنامه تکصفحهای (SPA) با جاوااسکریپت بسازید که شامل سه نما (خانه، درباره، تماس) باشد و بدون بارگذاری مجدد صفحه بین نماها ناوبری کند.
1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:28 0.0
برای حل این مسئله از روتر مبتنی بر هش (location.hash) یا History API استفاده کنید: لینکهای ناوبری را با href="#home" ، "#about" و "#contact" بسازید و با window.addEventListener('hashchange') و بررسی location.hash یا با خواندن URL در بارگذاری اولیه، محتوای مربوطه را در یک کانتینر اصلی با توابع render جداگانه جایگذاری کنید. از template strings و innerHTML برای رندر، event delegation برای هندل کردن کلیکها و افزودن کلاس فعال به لینک جاری بهره ببرید؛ اگر میخواهید URL تمیزتری داشته باشید میتوانید به صورت اختیاری history.pushState را امتحان کنید. نکات: از preventDefault در صورت نیاز استفاده کنید، منطق رندر را تفکیک نگه دارید و وضعیت ساده را در یک شیء نگهداری کنید تا کد خواناتر و قابلگسترش بماند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای نگهداری بهتر، منطق رندر را در یک Router کوچک و کمحجم جمعآوری کنید و هر نما را یک تابع render جداگانه نامگذاری کنید. لطفاً لینکهای ناوبری را با preventDefault کنترل کنید و از location.hash یا History API همگام استفاده کنید تا با hashchange یا بارگذاری اولیه نما مناسب را نمایش دهد. وضعیت ساده را در یک شیء مشترک نگه دارید تا تبدیل بین نماها بدون دوبارهکاری انجام شود. بهبود accessibility و عملکرد با افزودن کلاس فعال به لینک جاری و استفاده از یک الگوریتم ساده برای تشخیص نماهای معتبر و مدیریت خطاها را در نظر بگیرید.
گزارش