250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- abc뉴스 영어공부
- JavaScript
- boolean
- Hot springs tourism
- 영어뉴스 영어공부
- 자바스크립트
- 자바스크립트 배열
- 지하온천에 대한 뉴스로하는 영어 공부
- python virtual environment create mac
- lie 과거형
- 자바스크립트 for
- shift + tab
- 왕초보 자바스크립트
- fizzbuzz
- 자바스크립트 객체
- 자바스크립트 데이터타입
- lay 과거형
- VScode에서 들여쓰기 해제 하는 방법
- 변수
- lie와 lay의 차이점
- lay 과거분사
- If
- Math.random
- DOM
- VScode 주석 단축기 ctrl + / 안될때
- 대입연산자
- lie 과거분사
- lie와 lay 비교
- python virtual environment create window
- javascript for
Archives
- Today
- Total
김숭늉 마음대로
할일 관리 앱 (기초버전) - to do list 기초버전 본문
728x90
할일 관리앱 기초 버전입니다. (to do list 기초버전)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>할일 관리 앱</title>
</head>
<body>
<h1>할일 목록</h1>
<ul id="task-list"></ul>
<input type="text" id="new-task" placeholder="할일 추가" />
<button onclick="addTask()">추가</button>
<script src="app.js"></script>
</body>
</html>
// 할일 목록을 저장할 배열
let tasks = [];
// DOM 요소 가져오기
const taskList = document.getElementById("task-list"); //ul
const newTaskInput = document.getElementById("new-task"); //input 영역
// 할일 추가 함수
function addTask() {
// 입력된 할일 텍스트 가져오기
const taskText = newTaskInput.value;
// 입력된 텍스트가 공백이 아닌 경우에만 실행
if (taskText.trim() !== "") {
//trim은 좌/우측 공백 trim하는 함수
// 새로운 할일 객체 생성
const task = {
id: Date.now(), // 현재 시간을 사용하여 고유한 ID 생성
text: taskText,
};
// 생성한 할일을 배열에 추가
tasks.push(task);
// 할일 목록을 화면에 업데이트
displayTasks();
// 입력 필드 초기화
newTaskInput.value = "";
}
}
// 할일 삭제 함수
function deleteTask(id) {
// 주어진 ID와 일치하지 않는 할일만 필터링하여 배열 업데이트
tasks = tasks.filter((task) => task.id !== id);
// 할일 목록을 화면에 업데이트
displayTasks();
}
// 할일 목록을 화면에 표시하는 함수
function displayTasks() {
// 목록을 초기화하여 중복된 목록 방지
taskList.innerHTML = "";
// 각 할일에 대해 HTML 리스트 아이템을 생성하고 화면에 추가
tasks.forEach((task) => {
const listItem = document.createElement("li");
// 할일 텍스트와 삭제 버튼 추가
listItem.innerHTML = `
${task.text}
<button onclick="deleteTask(${task.id})">삭제</button>
`;
taskList.appendChild(listItem); // 목록 맨끝에 위치 시킴
});
}
// 초기에 할일 목록 표시
displayTasks();
728x90
반응형
'IT > 웹개발 (100일 도전)' 카테고리의 다른 글
파일질라와 FTP, 그리고 사용법에 대해 잘 정리한 사이트 공유 (0) | 2024.01.23 |
---|---|
html 테이플(표) 만들기 - row, col의 차이 (2) | 2024.01.23 |
express JS 설치, 기능 특징 -코딩 챌린지 48일차 (0) | 2023.09.06 |
Node JS, Node JS 설치방법? - 코딩챌린지 47일차 (0) | 2023.09.05 |
시차효과(Parallax effect) 추가하는 방법 - 코딩 챌린지 46일차 (0) | 2023.09.04 |