320x100
โ ์ด ํฌ์คํ ์ ๋ ธ๋ง๋์ฝ๋ - "๋ฐ๋๋ผ JS๋ก ํฌ๋กฌ ์ฑ ๋ง๋ค๊ธฐ๋ฅผ ๋ค์ผ๋ฉด์ ๊นํ๋ธ์ ๊ธฐ๋กํ ํ๊ธฐ๋ฅผ ์ฎ๊ธด ๋ด์ฉ์ ๋๋ค.
๐ฒ ๋๋ค์ผ๋ก ๋ช ์ธ, ๋ฐฐ๊ฒฝ ์ค์ ํ๊ธฐ (JS์์ ๋ง๋ ์์ Html์ ์ถ๊ฐํ๊ธฐ)
๐ฑ Array์ ์ ๊ทผํ๊ธฐ
๐ ๋๋ค์ผ๋ก ๊ฐ์ ๋ฐ๊ธฐ ์ํด์๋ ๋จผ์ ๋ฐ์ดํฐ๊ฐ ๋ด๊ธด Array์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์์์ผ ํ๋ค.
- ์ด๋ป๊ฒ ์ฒซ ๋ฒ ์งธ array์์ ์ ๊ทผํ ์ ์์๊น?
- ๋ช
์ธ 10๊ฐ๊ฐ ๋ด๊ฒจ์๋ quotes[ ]๊ฐ ์์ ๋
→ console.log(quotes[0])์ ์ฌ์ฉํ๋ฉด ๋๋ค.
- ๋ช
์ธ 10๊ฐ๊ฐ ๋ด๊ฒจ์๋ quotes[ ]๊ฐ ์์ ๋
- ๋ช
์ธ์ด 10๊ฐ์ด๋ฏ๋ก index๋ 0 - 9๊น์ง์ ๊ฐ์ด ์กด์ฌํ๋ค.
- ์ฆ! 0 - 9๊น์ง์ ๊ฐ์ ๋๋ค์ผ๋ก ๋ฐ์์ค๋ฉด ๋๋ค.
๐ ์ด๋ป๊ฒ ํ ์ ์์๊น? ๋๋ค ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค!
- ์ฆ! 0 - 9๊น์ง์ ๊ฐ์ ๋๋ค์ผ๋ก ๋ฐ์์ค๋ฉด ๋๋ค.
๐ฑ Math.random( )
๐ ์ฌ์ฉ ์ 0 - 1 ์ฌ์ด์ ๊ฐ์ ๋๋ค์ผ๋ก ์ป์ ์ ์๋ค.
- ์ฐ๋ฆฌ๊ฐ ํ์ํ ์ซ์๋ 0 - 9 ๊น์ง ์ธ๋ฐ, ์ด๋ป๊ฒ ์ฌ์ฉํ๋ฉด ๋ ๊น? ๐ค
→ ๐ก ๋๋ค์ผ๋ก ๋์จ ๊ฐ์ * 10์ ํด์ฃผ๋ฉด ๋๋ค. - 0 - 9 ๊น์ง์ ๊ฐ์ ๊ตฌํ์ง๋ง, ๋ค์ ์์์ ์ด ์๋ค.
→ ๐ก ์ฌ๋ฆผ / ๋ฐ์ฌ๋ฆผ / ๋ด๋ฆผํด์ฃผ๋ฉด ๋๋ค.- Math.round( ) → ๋ฐ์ฌ๋ฆผ
- Math.ceil( ) → ์ฌ๋ฆผ
- Math.floor( ) → ๋ด๋ฆผ
- ์ด ์ค์์ floor( )๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค.
- ์์ ์ฝ๋
const TodaysQuote = quotes[Math.floor(Math.random() * 10)];
- ๊ฐ์ ํ์ ์ฌํญ
- X 10์ ํ๋ฉด ํญ์ array์ data๊ฐ 10๊ฐ ์ธ ๊ฒ๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
๐ฑ length ์ฌ์ฉํ๊ธฐ
๐ ๋ฐฐ์ด.length = ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๊ตฌํด์ค๋ค.
- length๋ฅผ ์ฌ์ฉํ๋ฉด data๊ฐ 10๊ฐ ์ธ ๊ฒ ์ธ์ data๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ์ญ์ ๋์ด๋ ๊ทธ ๊ธธ์ด๋งํผ์ ๋๋ค ์ซ์๋ฅผ ์ป์ ์ ์๋ค.
- ๋ฐฐ์ด์ด 10๊ฐ ์ผ ๋ ๋๋ค ์ซ์๋ 10์ ์ ๊ทผํ ์ ์๋ค.
→ 0 - 1 ์ฌ์ด์ ์์ * 10์ ๊ฐ์ด๊ธฐ ๋๋ฌธ!
→ ํ์ง๋ง ๋ฐฐ์ด์ index๋ 0๋ถํฐ ์์๋๊ธฐ ๋๋ฌธ์ (์ต์ข ๊ธธ์ด -1)๊น์ง์ ๊ฐ๋ง ์์ผ๋ฉด ๋๋ค. - ์์ ์ฝ๋(๋ช ์ธ)
<!-- html -->
<div id="quote">
<span></span>
<span></span>
// js
const quotes = [{
quote: "Life is a mountain. Your goal is to find your path, not to reach the top.",
author: "Maxime Lagacé",
},
... // ์๋ต, ์ด 10๊ฐ ๋ฃ๊ธฐ
];
const TodaysQuote = quotes[Math.floor(Math.random() * quotes.length)];
quote.innerText = TodaysQuote.quote;
author.innerText = TodaysQuote.author;
๐ฑ ๋๋ค ๋ฐฐ๊ฒฝ ๋ฃ๊ธฐ
๐ ๋ช ์ธ์ ๋ฃ์ ๋์ ๊ฐ์ ๋ฐฉ๋ฒ ์ฌ์ฉ
- ํ๋ก์ ํธ ํด๋์ imgํด๋ ๋ง๋ค๊ณ , ๋๋ค์ผ๋ก ์ธ ์ด๋ฏธ์ง ๋ฃ๊ธฐ
- ์ด๋ฏธ์ง ์ด๋ฆ์ผ๋ก ๋ฐฐ์ด ๋ง๋ค๊ธฐ
const images = ["0.jpg", "1.jpg", "2.jpg"];
- ๋๋ค ํจ์ ๋ง๋ค๊ธฐ
const chosenImage = images[Math.floor(Math.random() * images.length)];
- css ๋ฐฐ๊ฒฝ์ผ๋ก ์ ์ฉํ๊ธฐ ์ํด ๋ง๋ค์ด ๋๊ธฐ
img {
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
animation: fadeIn 0.5s linear;
}
- ๋๋ค ์ด๋ฏธ์ง๋ฅผ ๋ฐฐ๊ฒฝ์ผ๋ก ์ถ๊ฐํด์ฃผ๋๋ก js ์ค์ ํ๊ธฐ
const bgImage = document.createElement("img");
bgImage.src = `./img/${chosenImage}`;
- body์ img ์ถ๊ฐํ๊ธฐ
document.body.appendChild(bgImage);
๋ฐ์ํ
'JavaScript > Nomad Coders' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] ๐ก Day 11 - JS๋ก ์ฌ์ฉ์์ ์์น ์ ๋ณด์ ํด๋น ์์น์ ๋ ์จ ํ์ํ๊ธฐ (0) | 2022.05.02 |
---|---|
[TIL] ๐ก Day 10 - JavaScript๋ก TodoList ๋ง๋ค๊ธฐ (0) | 2022.05.01 |
[TIL] ๐ก Day 8 - JavaScript๋ก ํ์ด๋จธ ๋ง๋ค๊ธฐ (0) | 2022.04.16 |
[TIL] ๐ก Day 7 - Javascript value getting, saving, loading ํ๋ ๋ฐฉ๋ฒ (0) | 2022.04.01 |
[TIL] ๐ก Day 6 - ํจ์๋ ์ ๋ณด๋ฅผ ๋ด๊ณ (0) | 2022.03.31 |
๋๊ธ