
이 전에 제작했던 반응형 내비게이션 바와 동일한 방식으로 작성했다.
CSS파일 분석은 생략하고
app.js 작성을 바로 시작해보자.
// sidebar-toggle 클래스를 가진 요소를 DOM에서 선택하여 변수에 할당
const toggleBtn = document.querySelector('.sidebar-toggle');
// close-btn 클래스를 가진 요소를 DOM에서 선택하여 변수에 할당
const closeBtn = document.querySelector('.close-btn');
// sidebar 클래스를 가진 요소를 DOM에서 선택하여 변수에 할당
const sidebar = document.querySelector('.sidebar');
여기까지는 내비게이션 바 제작했을 때 처럼 어느 부분의 코드인지만 인지하면서 작성하였다.
// toggleBtn 요소에 대한 클릭 이벤트 리스너를 추가합니다.
toggleBtn.addEventListener('click', function() {});

이 버튼을 눌렀을 때 function 안이 실행되기 때문에 sidebar 클래스를 가진 요소가 보여질 수 있게하는 코드를 이 안에 작성해야한다.
// sidebar 요소의 클래스 목록에 show-sidebar 클래스가 있으면 제거, 없으면 추가
toggleBtn.addEventListener('click', function() { sidebar.classList.toggle('show-sidebar'); });
show-sidebar 의 클래스
.show-sidebar {
transform: translate(0);
}
원래의 sidebar 클래스에서는 transform: translate(-100%);로 되어있기때문에 요소를 현재의 크기에 비례하여 왼쪽으로 이동시켜져있는 상태였다.
여기서 toggleBtn 버튼을 눌러줌으로 transform(0)으로 바꾸어 사이드바를 오른쪽으로 밀게 한다.
// closeBtn 요소에 대한 클릭 이벤트 리스너를 추가
closeBtn.addEventListener('click', function() {});

이 버튼을 눌렀을 때 function 안이 실행되기 때문에 보여지고 있는 sidebar 클래스를 가진 요소가 지워질 수 있게 하는 코드를 이 안에 작성해야한다.
// sidebar 요소의 클래스 목록에서 "show-sidebar" 클래스를
closeBtn.addEventListener('click', function() {
sidebar.classList.remove('show-sidebar');
});
show-sidebar를 이렇게 지우면 toggleBtn요소를 누르기 전으로 다시 돌아올 수 있다.
'FE > Javascript' 카테고리의 다른 글
| [JavaScript] javaScript의 기본 특징 (0) | 2026.03.09 |
|---|---|
| [JavaScript] 애니메이션, form, 조건문 (0) | 2025.06.30 |
| [Javascript] 이벤트리스너, JQuery함수 (2) | 2025.06.29 |
| [JavaScript] 반응형 내비게이션 바 제작 (0) | 2025.06.29 |
| [JavaScript] 자바스크립트 기초 (0) | 2025.06.29 |


