این پروژهی ساده برای آموزش HTML/CSS/JS و ذخیرهسازی داده در مرورگر با localStorage طراحی شده است. تمام فایلها همراه با کامنتهای قدمبهقدم هستند.
- اگر از Laragon استفاده میکنید، این پوشه را در
C:/laragon/www/todo-listقرار دهید و آدرسhttp://localhost/todo-listرا باز کنید. - یا روی
index.htmlدوبار کلیک کنید تا مستقیم در مرورگر باز شود.
index.html: ساختار UI و عناصر صفحهstyle.css: استایل و ظاهر مینیمالscript.js: منطق افزودن/حذف و ذخیرهسازی درlocalStorage
- HTML
- یک
<form>با یک<input>و یک دکمه «افزودن» بسازید. - یک
<ul>برای نمایش آیتمها و یک دکمه «حذف همه» اضافه کنید.
- CSS
- پسزمینه تیره، کارت مرکزی، و دکمهها را استایل دهید.
- کلاسهای کلیدی:
.container,.todo-list,.todo-item,.delete-btn.
- JavaScript
- المانها را با
document.getElementByIdبگیرید. - state را به صورت آرایه
itemsنگه دارید:{ id, text }. - توابع اصلی:
loadItemsFromStorage(),saveItemsToStorage()generateId()createTodoListItemElement(item)renderList()- عملیات:
addNewItem(text),removeItemById(id),clearAllItems()
- در
init()دادهها را بارگذاری کنید، رندر کنید و event listener ها را وصل کنید.
- تست
- آیتم اضافه کنید، حذف تکی و «حذف همه» را امتحان کنید.
- صفحه را رفرش کنید؛ آیتمها باید باقی بمانند (به لطف
localStorage).
localStorageفقط string ذخیره میکند؛ ازJSON.stringify/parseاستفاده کنید.- با id یکتا حذف امن انجام دهید.
- از
aria-*برای بهبود دسترسپذیری استفاده شده است.
- ویرایش آیتمها، تیک انجام شده، فیلترها (همه/انجام شده/انجام نشده)
- Drag & Drop برای مرتبسازی، همگامسازی با سرور
موفق باشید! 🎉