[팀 포트폴리오] [Momentum 클론 웹사이트] 2. 코드 분석 <quotes.js>
2024. 12. 10. 20:26ㆍ웹개발 포트폴리오
728x90
반응형
const quotes = [
// 각 명언과 저자 선언 (값 넣기)
{ quote: "첫 번째 명언", author: " -저자" },
{ quote: "두 번째 명언", author: " -저자" },
{ quote: "세 번째 명언", author: " -저자" },
{ quote: "네 번째 명언", author: " -저자" },
{ quote: "다섯 번째 명언", author: " -저자" },
];
export function initializeQuotes() {
const quoteElement = document.querySelector("#quote span:first-child");
const authorElement = document.querySelector("#quote span:last-child");
// HTML에 각 JS 객체 연결
// document.querySelector() : JavaScript의 DOM에서 제공하는 함수로,
// () 안의 아이디, 클래스, 태그 이름을 입력하면 해당하는 객체를 찾아준다
// 이때, HTML 문서 안에서 지정한 조건(선택자)과 딱 맞는 태그들 중 가장 첫 번째 태그 하나만 가져온다
if (!quoteElement || !authorElement) return;
// quoteElement와 authorElement가 DOM에 제대로 렌더링되었는지 확인하는 안전 장치
// 제대로 로드되지 않으면 값을 반환하지 않음
// 기존 텍스트 초기화 (중복 방지) (초기화 즉 빈 배열을 넣는 과정)
quoteElement.innerText = "";
authorElement.innerText = "";
// 랜덤 명언 선택
const todaysQuote = quotes[Math.floor(Math.random() * quotes.length)];
// Math.random() 함수 : 0이상 1미만의 숫자를 생성
// Math.random()*quotes.length라고 하면 quotes 배열의 길이(갯수)만큼 랜덤한 수를 생성
// Math.floor() : 소수점을 제거해 가장 가까운 정수로 내림 처리
// quotes 배열에서 배열 길이만큼의 랜덤한 수(정수로 내림처리 된) 중 하나를 출력하는 todaysQuote 함수가 생성된다
// innerText : 선택한 요소를 HTML에 적용시킴
quoteElement.innerText = todaysQuote.quote;
authorElement.innerText = todaysQuote.author;
}
728x90
반응형
'웹개발 포트폴리오' 카테고리의 다른 글
[팀 포트폴리오] [Momentum 클론 웹사이트] 2. 코드 분석 <clock.js> (0) | 2024.12.10 |
---|---|
[팀 포트폴리오] [Momentum 클론 웹사이트] 2. 코드 분석 <greeting.js> (0) | 2024.12.10 |
[팀 포트폴리오] [Momentum 클론 웹사이트] 2. 코드 분석 <weather.js> (0) | 2024.12.10 |
[팀 포트폴리오] [Momentum 클론 웹사이트] 2. 코드 분석 <todo.js> (0) | 2024.12.10 |
[팀 포트폴리오] [Momentum 클론 웹사이트] 1. 구상 및 완성 과정 (0) | 2024.12.10 |