금요일에는 HTML에 이어 JS를 공부했다.
기존에 알던 개념 + 복습의 개념이 강했고,
JS의 필요성 그리고 바닐라 JS를 이용하기 위해 다양한 실습이 준비되어 있었다.
🚩개념 정리하기
ES6부터 사용가능한 '템플릿 리터럴'
객체 비구조화 할당
객체 비구조화 할당은 ES6에서 추가되었다.
1. 객체 비구조화 할당은 객체구조분해 라고도 한다.
2. 객체 비구조화 할당은 짧고 보기좋게 코드 작성이 가능하다.
3. 객체 안에 함수를 넣을 때, 화살표 함수로 선언이 안된다! (화살표 x)
이벤트 핸들러 (addEventListener)
실습 5번 (갤러리)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.slider {
position: relative;
}
.slides {
display: flex;
overflow: hidden;
}
.slides img {
width: 100%;
height: auto;
}
.prev-btn,
.next-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
.prev-btn {
left: 10px;
}
.next-btn {
right: 10px;
}
</style>
</head>
<body>
<div class="slider">
<button class="prev-btn">Previous</button>
<div class="slides">
<img src="./img/note1.jpg" alt="Image 1" />
<img src="./img/note2.jpg" alt="Image 2" />
<img src="./img/note3.jpg" alt="Image 3" />
<!-- Add more images as needed -->
</div>
<button class="next-btn">Next</button>
</div>
<script>
// Get the necessary elements
const slidesContainer = document.querySelector(".slides");
const prevButton = document.querySelector(".prev-btn");
const nextButton = document.querySelector(".next-btn");
const slides = document.querySelectorAll(".slides img");
let currentIndex = 0;
// Hide all slides except the first one
slides.forEach((slide, index) => {
if (index !== currentIndex) {
//0이랑 다르면 안보여줄거야
slide.style.display = "none"; //style = " display : none"
}
});
// Function to show the current slide
function showSlide(index) {
// Hide all slides
slides.forEach((slide) => {
slide.style.display = "none";
});
// Show the slide at the given index
slides[index].style.display = "block";
}
// Event listener for the previous button
prevButton.addEventListener("click", () => {
currentIndex =
currentIndex === 0 ? slides.length - 1 : currentIndex - 1;
showSlide(currentIndex);
});
// Event listener for the next button
nextButton.addEventListener("click", () => {
currentIndex =
currentIndex === slides.length - 1 ? 0 : currentIndex + 1;
showSlide(currentIndex);
});
</script>
</body>
</html>
+ 삼항연산자
✍️TIL 후기
JS를 사용해야 하는 이유와 개념은 여러 번 들어도 중요하다고 생각한다. 특히나 함수를 하나하나 알고 되짚어보니 그때 모르고 썼던 함수들의 동작원리를 좀 더 알게 되었다.
———————————————————————————————————————————————————————
본 후기는 유데미-스나이퍼팩토리 10주 완성 프로젝트캠프 학습 일지 후기로 작성 되었습니다.
'[부트캠프] IT 코딩 부트캠프 후기 > [웅진씽크빅X유데미] 스나이퍼 팩토리 🤹' 카테고리의 다른 글
[유데미x스나이퍼팩토리] Vanilla JS를 이용한 서비스 만들기 (1) (0) | 2023.06.23 |
---|---|
[유데미x스나이퍼팩토리] 10주 완성 프로젝트 캠프 - 프론트엔드 : React 기초 & 간단한 실습 (0) | 2023.06.23 |
[유데미x스나이퍼팩토리] 10주 완성 프로젝트 캠프 - 프론트엔드 : HTML 기초 & 과제 (0) | 2023.06.14 |
[유데미x스나이퍼팩토리] 10주 완성 프로젝트 캠프 - 프론트엔드 : 아이디어 스케치 (0) | 2023.06.11 |
[유데미x스나이퍼팩토리] 10주 완성 프로젝트 캠프 - 프론트엔드 : Git & GitHub (0) | 2023.06.09 |