커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
카운트 js 안에 작성만 하면 구문 오류가 난다고 합니다.
1시간만에 크리스마스 디데이 캘린더 만들기 v0
기타
북마크
한*빈
댓글
3
추천
0
조회수
20
조회수
20
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.








작성한 코드 및 에러 메세지


제 코드 Replit 사이트 주소는 https://replit.com/@qls2033/SCC-Advent-Calendar-1#countdown.js 입니다.


작성한 코드 문은


// 날짜 기준 카드 오픈 기능

const doors = document.querySelectorAll('.door');

doors.forEach((door, index) => {

 door.addEventListener('click', () => {

  // 현재 한국 시간을 얻어오기

  const now = new Date(new Date().toLocaleString("en-US", { timeZone: "Asia/Seoul" }));


  // 각 날짜에 해당하는 날짜를 계산

  const openDate = new Date(2023, 10, index + 1); // 2023년 12월 1일부터 시작


  // 현재 날짜가 열 수 있는 날짜 이후인지 확인

  if (now.getTime() > openDate.getTime()) {

   // 여기에 모달을 열거나 특정 동작을 수행하는 코드 추가


   // 상위 div의 class 번호를 찾아서 image url에 사용합니다

   const imageUrl = `image/card/card-${index + 1}.png`;


   // 'back' 클래스를 가진 요소를 찾아 스타일을 가져옵니다.

   const doorDiv = document.querySelector(`.day-${index + 1}`)

   const backDiv = doorDiv.querySelector(`.back`);


   const style = window.getComputedStyle(backDiv);

   const pTag = backDiv.querySelector('p')

   const text = modalMessageList[index]['message']


   // showModal 함수를 호출하여 모달을 표시합니다.

   showModal(imageUrl, text);

   // alert('이벤트 캘린더를 엽니다.');


  } else {

   // 현재 날짜가 열 수 있는 날짜보다 이전인 경우 몇 일 후에 열 수 있다는 메시지를 표시

   const daysRemaining = Math.ceil((openDate - now) / (1000 * 60 * 60 * 24));

   console.log(openDate, now, daysRemaining)

   alert(`이 카드는 ${daysRemaining}일 후에 열 수 있어요!`);

  }

 });

});


을 붙여넣었습니다.

날짜 기준 오픈 기능 js만 붙여넣기를 하면 이러한 에러가 뜹니다..

오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!

SyntaxError: Identifier 'doors' has already been declared (at countdown.js:1:1)


어떻게 해결하면 좋을까요?


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴