Cách tạo: danh sách công việc
- Trang trước HTML bao gồm
- Trang tiếp theo Tải xuống
Học cách sử dụng CSS và JavaScript để tạo danh sách công việc.
Danh sách công việc cần làm
Tạo danh sách công việc cần làm bằng CSS và JavaScript để tổ chức nhiệm vụ và xác định ưu tiên của chúng.
Tạo danh sách công việc cần làm
Bước 1 - Thêm HTML:
<div id="myDIV" class="header"> <h2>My To Do List</h2> <input type="text" id="myInput" placeholder="Title..."> <span onclick="newElement()" class="addBtn">Add</span> </div> <ul id="myUL"> <li>Hit the gym</li> <li class="checked">Pay bills</li> <li>Meet George</li> <li>Buy eggs</li> <li>Read a book</li> <li>Organize office</li> </ul>
Bước 2 - Thêm CSS:
Đặt phong cách cho tiêu đề và danh sách:
/* Chỉnh sửa khoảng cách và viền vào tổng chiều rộng và chiều cao của phần tử */ * { box-sizing: border-box; } /* Loại bỏ khoảng cách bên ngoài và bên trong của danh sách */ ul { margin: 0; padding: 0; } /* Đặt phong cách cho mục danh sách */ ul li { cursor: pointer; position: relative; padding: 12px 8px 12px 40px; background: #eee; font-size: 18px; transition: 0.2s; /* Làm cho mục danh sách không thể chọn */ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* Đặt tất cả các mục danh sách chẵn thành màu khác nhau (vân cá voi) */ ul li:nth-child(odd) { background: #f9f9f9; } /* Khi con trỏ chuột đè lên, màu nền sẽ tối hơn */ ul li:hover { background: #ddd; } /* Nhấn vào, thêm màu nền và gạch chân văn bản */ ul li.checked { background: #888; color: #fff; text-decoration: line-through; } /* Thêm dấu hiệu "Đã chọn" khi nhấp chuột */ ul li.checked::before { content: ''; position: absolute; border-color: #fff; border-style: solid; border-width: 0 2px 2px 0; top: 10px; left: 16px; transform: rotate(45deg); height: 15px; width: 7px; } /* Đặt樣式 cho nút đóng */ .close { position: absolute; right: 0; top: 0; padding: 12px 16px 12px 16px; } .close:hover { background-color: #f44336; color: white; } /* Đặt樣式 cho tiêu đề */ .header { background-color: #f44336; padding: 30px 40px; color: white; text-align: center; } /* Xóa浮动 sau tiêu đề */ .header:after { content: ""; display: table; clear: both; } /* Đặt樣式 cho trường nhập liệu */ input { margin: 0; border: none; border-radius: 0; width: 75%; padding: 10px; float: left; font-size: 16px; } /* Đặt樣式 cho nút "Thêm" */ .addBtn { padding: 10px; width: 25%; background: #d9d9d9; color: #555; float: left; text-align: center; font-size: 16px; cursor: pointer; transition: 0.3s; border-radius: 0; } .addBtn:hover { background-color: #bbb; }
Bước 3 - Thêm JavaScript:
// Tạo một nút "Đóng" cho mỗi mục danh sách và gắn vào mỗi mục var myNodelist = document.getElementsByTagName("LI"); var i; for (i = 0; i < myNodelist.length; i++) { var span = document.createElement("SPAN"); var txt = document.createTextNode("\u00D7"); span.className = "close"; span.appendChild(txt); myNodelist[i].appendChild(span); } // Nhấn vào nút đóng để ẩn mục danh sách hiện tại var close = document.getElementsByClassName("close"); var i; for (i = 0; i < close.length; i++) { close[i].onclick = function() { var div = this.parentElement; div.style.display = "none"; } } // Thêm một dấu tích "đã chọn" khi nhấn vào mục danh sách var list = document.querySelector('ul'); list.addEventListener('click', function(ev) { if (ev.target.tagName === 'LI') { ev.target.classList.toggle('checked'); } }, false); // Đăng kí một phần tử mới khi nhấn nút "Thêm" function newElement() { var li = document.createElement("li"); var inputValue = document.getElementById("myInput").value; var t = document.createTextNode(inputValue); li.appendChild(t); if (inputValue === '') { alert("You must write something!"); } else { document.getElementById("myUL").appendChild(li); } document.getElementById("myInput").value = ""; var span = document.createElement("SPAN"); var txt = document.createTextNode("\u00D7"); span.className = "close"; span.appendChild(txt); li.appendChild(span); for (i = 0; i < close.length; i++) { close[i].onclick = function() { var div = this.parentElement; div.style.display = "none"; } } }
- Trang trước HTML bao gồm
- Trang tiếp theo Tải xuống