# Quotes
Math.random(); -> 0.0 ~ 1.0 사이의 랜덤한 값을 반환해준다.
0~10 사이의 랜덤한 숫자를 보고 싶으면 저기에 *0 을 하면 된다.
Math.random()*10; //-> 3.2325817958 로 나옴.
이때, 뒤에 있는 소수점을 없애 정수로 만들어주고 싶다면, 세 가지의 방법이 있다.
1. Math.ceil(1.0001); -> 올림
Math.ceil(1.1); // => 2 Math.ceil(1.0)만이 1임 나머지는 다 올림 처리
2. Math.round(1.0001); -> 반올림
3. Math.floor(1.0001); -> 내림.(뒤에 소수점 무시해줌)
const todaysQuote = quotes[Math.floor(Math.random()*quotes.length)];
이 부분에서 왜 [] 대괄호를 써야 하는지 궁금했는데,
일단 저 quotes가 array니까 array에서 순서를 가져올 때, [] 여기에 숫자가 들어가야 하는데,
이번 강의의 경우 그 숫자를 랜덤으로 해주었기에 대괄호 속에 저런 코드들이 들어가게 된 것.
[html]
</form>
<h2 id="clock">00:00:00</h2>
<h1 class="hidden" id="greeting"></h1>
<div id="quote">
<span></span>
<span></span>
</div>
<script src="js/greetings.js"></script>
<script src="js/clock.js"></script>
<script src="js/quotes.js"></script>
</body>
</html>
[JS]
const quotes = [
{
quote: "The way to get started is to quit talking and begin doing.",
author: "Walt Disney",
},
{
quote: "Life is what happens when you're busy making other plans.",
author: "John Lennon",
},
{
quote:
"The world is a book and those who do not travel read only one page.",
author: "Saint Augustine",
},
{
quote: "Life is either a daring adventure or nothing at all.",
author: "Helen Keller",
},
{
quote: "To Travel is to Live",
author: "Hans Christian Andersen",
},
{
quote: "Only a life lived for others is a life worthwhile.",
author: "Albert Einstein",
},
{
quote: "You only live once, but if you do it right, once is enough.",
author: "Mae West",
},
{
quote: "Never go on trips with anyone you do ntot love.",
author: "Hemmingway",
},
{
quote: "We wander for distraction, but we travel for fulfilment.",
author: "Hilaire Belloc",
},
{
quote: "Travel expands the mind and fills the gap.",
author: "Sheda Savage",
},
];
const quote = document.querySelector("#quote span:first-child");
const author = document.querySelector("#quote span:last-child");
const todaysQuote = quotes[Math.floor(Math.random() * quotes.length)];
quote.innerText = todaysQuote.quote;
author.innerText = todaysQuote.author;
# Background
document.body.style.backgroundImage = `url('img/${chosenImage}')`;
-> 배경 자체를 body에 backgroundImage를 줘서 처리
이미지 파일명을 배열에 등록할 때 하드코딩 안하게:
const images = [];
for(i=1; i let counted = i
images.push(` (${counted}).jpg`)
}
const bgImage = document.createElement("img");
-> JavaScript에서 img태그를 생성할 수 있다. (요소를 만들고)
bgImage.src=`img/${chosenImage}`;
-> src 속성에 경로를 넣어줄수도 있다.
src에 스트링으로 생성해서 console.log(bgImage);
document.body.appendChild(bgImage);
-> 생성한 img태그인 bgImage를 html에 추가시킴으로써 존재가능. (자식 추가)
[html]
<h1 class="hidden" id="greeting"></h1>
<script src="js/greetings.js"></script>
<script src="js/clock.js"></script>
<script src="js/quotes.js"></script>
<script src="js/background.js"></script>
</body>
</html>
[JS]
const images = ["0.jpeg", "1.jpeg", "2.jpeg"];
const chosenImage = images[Math.floor(Math.random() * images.length)];
const bgImage = document.createElement("img");
bgImage.src = `img/${chosenImage}`;
document.body.appendChild(bgImage);
'Web > JavaScript' 카테고리의 다른 글
[JS/이론 정리] 기본 연산자 (0) | 2022.07.30 |
---|---|
[JS/이론 정리] script 태그 ~ 형 변환 (0) | 2022.07.30 |
[JS] Clock 구현 - Intervals, Timeouts & dates, PadStart (0) | 2022.07.27 |
[JS] Login 구현 - Input, Form, Events (0) | 2022.07.27 |
[JS] CSS in JavaScript (0) | 2022.07.27 |