-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
56 lines (49 loc) · 1.69 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//Selectors
const todoInput = document.querySelector('.todo-input');
const todoButton = document.querySelector('.todo-button');
const todoList = document.querySelector('.todo-list');
//Event Listeners
todoButton.addEventListener('click', addTodo);
todoList.addEventListener('click', deleteCheck);
//Functions
function addTodo(event) {
event.preventDefault(); //Prevent form from submitting
//Todo Div
const todoDiv = document.createElement('div');
todoDiv.classList.add("todo");
//Create Li
const newTodo = document.createElement('li');
newTodo.innerText = todoInput.value;
newTodo.classList.add('todo-item');
todoDiv.appendChild(newTodo);
//Completed check button
const completedButton = document.createElement('button');
completedButton.innerHTML = '<i class="fas fa-check"></i>';
completedButton.classList.add("complete-btn");
todoDiv.appendChild(completedButton);
//Trash button
const trashButton = document.createElement('button');
trashButton.innerHTML = '<i class="fas fa-trash"></i>';
trashButton.classList.add("trash-btn");
todoDiv.appendChild(trashButton);
//Append to list
todoList.appendChild(todoDiv);
//Clear the given value
todoInput.value = "";
}
function deleteCheck(event) {
const item = event.target;
//Delete Todo
if (item.classList[0] === 'trash-btn') {
const todo = item.parentElement;
todo.classList.add("fall");
todo.addEventListener('transitionend', function () {
todo.remove();
});
}
//Check Todo
if (item.classList[0] === 'complete-btn') {
const todo = item.parentElement;
todo.classList.toggle('completed');
}
}