https://www.youtube.com/watch?v=e56H5n1SvEs&t=2s
์ ๊ฐ์๋ฅผ ๋ณด๊ณ ๋น์ฃผ์ผ ์คํ๋์ค ์ฝ๋๋ฅผ ํตํด ์ค์ต์ ์งํํ์๋ค.
HTML
1. ํ์ผ ์์ฑํ๊ธฐ
index.html, main.js, style.cssํ์ผ์ ๊ฐ๊ฐ ์์ฑํ๋ค. VScode์์๋ !+<tap>ํค๋ฅผ ๋๋ฅด๋ฉด html์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๊ฐ ์๋์์ฑ๋๋ค. ์ด์ ๊ฐ์ด div.wrap์ bodyํ๊ทธ์ ์ ๋ ฅํ ๋ค <tap>ํค๋ฅผ ๋๋ฅด๋ฉด <div class="wrap"></div>๋ก ์๋ ์์ฑ์ด ๋๋ค.
<!--index.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Typing text</title>
</head>
<body>
<div class="wrap">
</div>
</body>
</html>
2. ์์ด์ฝ ํฐํธ ์ฌ์ฉํ๊ธฐ
๊ตฌ๊ธ์ material icon์ด๋ผ๊ณ ๊ฒ์ํ๋ฉด ๋งจ ์์ ์๋์ ๊ฐ์ ๋งํฌ๊ฐ ๋ฌ๋ค.
https://material.io/resources/icons/?style=baseline
๋ค์ด๊ฐ์ ๊ฐ์ฅ ๋จผ์ ๋ณด์ด๋ ์๋ ํ๋ฉด์ ๋ณด์.
๊ทธ์ค ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ธ ๋งํฌ ํ๊ทธ๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค. ์๋ ์ฝ๋๋ฅผ index.html์ headํ๊ทธ์ ๋ถ์ฌ๋ฃ๊ธฐ ํ๋ฉด ๋๋ค.
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
์ด์ ์นํ์ด์ง์์ ๋ง์์ ๋๋ ์์ด์ฝ์ ํ๋ ๊ณจ๋ผ ํด๋ฆญํ ๋ค
ํ์ดํ๊ฐ ์๋ ๋ถ๋ถ์ ๋๋ฅด๋ฉด ์ฝ๋๊ฐ ๋ฌ๋ค. ๋ด๊ฐ ์ ํํ ์์ด์ฝ์ ๊ฒฝ์ฐ์๋
<span class="material-icons">
important_devices
</span>
์ด๋ฐ ์ฝ๋๋ฅผ ์ ๋ ฅํ์ฌ ์ฌ์ฉํ ์ ์๋ค๊ณ ํ๋ค.
<!--index.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Typing text</title>
</head>
<body>
<div class="wrap">
<h1><span class="material-icons">
important_devices
</span>
</h1>
</div>
</body>
</html>
์ฆ ์์ ๊ฐ์ด ์ ๋ ฅํ๋ฉด (ํด๋น ์์ด์ฝ์ด ์นํ์ด์ง์์ ์ค์ํ ๋ถ๋ถ์ด๋ผ๋ ์๋ฏธ๋ฅผ ๋ถ์ฌํ๊ธฐ ์ํด <h1>ํ๊ทธ๋ก ๊ฐ์ธ์ฃผ์๋ค.
์ด๋ ๊ฒ ๊ณ ๋ฅธ ์์ด์ฝ์ ์ฌ์ฉํ ์ ์๋ค.
3. ๊ธ์ ์ฝ์ ํ๊ธฐ
์์ฑ๋ ์นํ์ด์ง๋ฅผ ๋ค์ ๋ณด๋ฉด
์ด๋ ๊ฒ ๋ ์ค์ ๊ธ์๊ฐ ๋์จ๋ค. ์ฒซ๋ฒ์งธ ์ค์ ์๋ ๊ธ์๋ ์กฐ๊ธ ํฌ๊ณ ๊ธ์จ๊ฐ ๊ตต๋ค. ์ด๋ ๊ฒ ๋ค๋ฅธ ํน์ง์ ์ ์ฉํ๋ ค๋ฉด ๊ธ์์ ๊ฐ๊ฐ ๋ค๋ฅธ ํด๋์ค์ ์์ด๋๋ฅผ ๋ถ์ฌํ๋ฉด ๋๋ค.
๋ด์ฉ์ด ์๋ก ์ถฉ๋ํ ๋ id>class>ํ๊ทธ ์์ผ๋ก ์ ์ฉ๋๋ค.
์ฌ๊ธฐ์๋ ์์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค. id๋ # class๋ .์ ์ด์ฉํ๋ ์๋์ ๊ฐ์ด ์ ๋ ฅํ๊ณ <tap>ํค๋ฅผ ๋๋ฅด๋ฉด
p#dynamic.lg-text
<!-- <tapํค> -->
<p id="dynamic" class="lg-text"></p>
์ด๋ ๊ฒ ์๋ ์์ฑ์ด ๋๋ค.
๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฐ์ ์ค ๊ธ์์ ๋ํด์๋ class์ด๋ฆ์ "sm-text"๋ก ์ง์ ํด ์ฃผ๋๋ก ํ์. ๊ทธ๋ฆฌ๊ณ ๊ฐ ํ๊ทธ ์์ ๋ฃ๊ณ ์ถ์ ๋ด์ฉ์ ์ ๋ ฅํ๋ฉด ๋๋ค.
๋๋ ์ด๋ ๊ฒ ์ ๋ ฅํ์๋ค.
<!--index.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Typing text</title>
</head>
<body>
<div class="wrap">
<h1><span class="material-icons">
important_devices
</span>
</h1>
<p id="dynamic" class="lg-text">
Learn to JavaScript
</p>
<p class="sm-text">
kite707 | Computer Engineering
</p>
</div>
</body>
</html>
์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ์ํ๋๋๋ก ์ ์ถ๋ ฅ๋ ๊ฒ์ ์ ์ ์๋ค. ์ฌ๊ธฐ๊น์ง ํ๋ฉด html์ ์ด์ฉํด ๊ธฐ์ด ๋ผ๋๋ ๋ชจ๋ ์ก์ ๊ฒ์ด๋ค. ์ด์ CSS๋ฅผ ํตํด ๊ธ์๋ฅผ ์ํ๋๋๋ก ๊พธ๋ฉฐ๋ณด๋๋ก ํ์.
CSS
htmlํ์ผ๊ณผ cssํ์ผ ์ฐ๊ฒฐํ๊ธฐ
style.cssํ์ผ์ ์ ๋ ฅํ ๋ด์ฉ์ด index.htmlํ์ผ์ ์ ์์ ์ผ๋ก ์ ์ฉ๋๋๋ก ํ๊ธฐ ์ํด์๋ ๋ ํ์ผ์ ์ฐ๊ฒฐํด์ผ ํ๋ค. index.htmlํ์ผ headํ๊ทธ ์์ <link href="style.css" rel="stylesheet">๋ฅผ ๋ถ์ฌ๋ฃ๊ธฐ ํ์. ์ ์ฒด ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
<!--index.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="style.css" rel="stylesheet">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Typing text</title>
</head>
<body>
<div class="wrap">
<h1><span class="material-icons">
important_devices
</span>
</h1>
<p id="dynamic" class="lg-text">
Learn to JavaScript
</p>
<p class="sm-text">
kite707 | Computer Engineering
</p>
</div>
</body>
</html>
CSS๋ฅผ ์ด์ฉํด ๋ฐฐ์นํ๊ธฐ
์ด์ style.css์์ ๋ชจ๋ ํ๊ทธ์ ๋ํด์(*์ ํ์ ์ด์ฉ) margin๊ณผ padding๊ฐ์ ์์ ๊ณ box-sizing์์ฑ์ border-box๋ก ์ง์ ํ์.
content-box์ border-box
-content-box๋ ๊ธฐ๋ณธ CSS ๋ฐ์ค ํฌ๊ธฐ ๊ฒฐ์ ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ์์์ ๋๋น๋ฅผ 100 ํฝ์ ๋ก ์ค์ ํ๋ฉด ์ฝํ ์ธ ์์ญ์ด 100 ํฝ์ ๋๋น๋ฅผ ๊ฐ์ง๊ณ , ํ ๋๋ฆฌ์ ์์ชฝ ์ฌ๋ฐฑ์ ์ด์ ๋ํด์ง๋๋ค.
-border-box๋ ํ ๋๋ฆฌ์ ์์ชฝ ์ฌ๋ฐฑ์ ํฌ๊ธฐ๋ ์์์ ํฌ๊ธฐ๋ก ๊ณ ๋ คํฉ๋๋ค. ๋๋น๋ฅผ 100 ํฝ์ ๋ก ์ค์ ํ๊ณ ํ ๋๋ฆฌ์ ์์ชฝ ์ฌ๋ฐฑ์ ์ถ๊ฐํ๋ฉด, ์ฝํ ์ธ ์์ญ์ด ์ค์ด๋ค์ด ์ด ๋๋น 100 ํฝ์ ์ ์ ์งํฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ด ํธ์ด ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ๋ ์ฝ์ต๋๋ค.
์ถ์ฒ : https://developer.mozilla.org/ko/docs/Web/CSS/box-sizing
์ด์ด์ cssํ์ผ์ ํตํด ๋ฐฐ๊ฒฝํ๋ฉด ์์ ๋ฐ๊พธ๊ณ ๊ธ์จ๋ฅผ ๊ฐ์ด๋ฐ์ ๋ฐฐ์นํด๋ณด์. ์ฝ๋๋ฅผ ์๋์ ๊ฐ์ด ์ ๋ ฅํ๋ฉด
/*style.css*/
*{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
background-color:#0F5BFF;
}
.wrap{
position:absolute;
top:50%;
left:50%;
}
์๋์ ๊ฐ์ ํ๋ฉด์ด ๋์จ๋ค. ์ฐ๋ฆฌ๊ฐ ์๋ํ๋๋ก ๊ธ์จ๊ฐ ์ ๊ฐ์ด๋ฐ์ ์์นํ์ง ์๋๋ค.
์ฝ๋๋ฅผ ์๋์ ๊ฐ์ด ์์ ํด์ ์ดํด๋ณด์
/*style.css*/
*{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
background-color:#0F5BFF;
}
.wrap{
border: solid 5px;
position:absolute;
top:50%;
left:50%;
}
์ฐ๋ฆฌ๊ฐ ๊ฐ์ด๋ฐ์ ์์น์ํจ ๊ฒ์ ์์์ ์ผ์ชฝ ์ ๋ชจ์๋ฆฌ์ด๋ค. ์ด๊ฒ์ ๋ณด์ํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์๋์ ๊ฐ์ด ์์ ํ๋๋ก ํ์.
/*style.css*/
*{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
background-color:#0F5BFF;
}
.wrap{
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
color:white; /*๊ธ์จ๋ฅผ ํฐ์์ผ๋ก ๋ฐ๊พธ๊ธฐ ์ํด ์ถ๊ฐ๋ ๋ถ๋ถ*/
text-align: center; /*๊ฐ์ด๋ฐ ์ ๋ ฌ์ ์ํด ์ถ๊ฐ๋ ๋ถ๋ถ*/
}
์์ด์ฝ ํฐํธ๊น์ง ์์ฑ์ด ์ ์ ์ฉ๋ ๊ฒ์ผ๋ก ๋ณด์ ์์ด์ฝ ํฐํธ๋ CSS์ ํ ์คํธ์ ๊ด๋ จ๋ ์์ฑ์ ๊ทธ๋๋ก ์ ์ฉํ ์ ์์์ ์ ์ ์๋ค.
ํฐํธํฌ๊ธฐ ์กฐ์ ๋ฐ ์ปค์๋ชจ์ ๋ง๋ค๊ธฐ
์ฐ์ ํฐํธ ํฌ๊ธฐ ์กฐ์ ์ ์๋ฃํ ์ํ์ ์ฝ๋๋ ์๋์ ๊ฐ๋ค.
/*style.css*/
*{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
background-color:#0F5BFF;
}
.wrap{
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
color:white;
text-align: center;
}
.material-icons{ /*์์ด์ฝ ํฌ๊ธฐ*/
font-size:10rem;
}
.lg-text{ /*์ฒซ๋ฒ์งธ ์ค ๊ธ์ ํฌ๊ธฐ*/
font-size:2rem;
font-weight:bold;
margin-bottom:5px;
}
.sm-text{ /*๋๋ฒ์งธ ์ค ๊ธ์ ํฌ๊ธฐ*/
font-size: 1.5rem;
}
์ด์ ์ปค์ ๋ชจ์์ ๋ง๋ค์ด ๋ณด๋๋ก ํ์. dynamic์ผ๋ก ๋ฌถ์ธ ๋ถ๋ถ์ ๋งจ ๋์ ์ปค์๊ฐ ๋ง๋ค์ด ์ ธ์ผ ํ๋ ์ฝ๋๋ #dynamic์ผ๋ก ์์ํ๋ค. ๊ฐ์์์๋ ๊ฐ์์์ after๋ฅผ ์ฌ์ฉํ๋ค. ๊ฐ์์์๋ ํน์ ๋ถ๋ถ์ ์ ํํ๋ค. ์์น์ ์ผ๋ก ๊ฐ์ ํด๋์ค๋ ์ฝ๋ก ์ ํ๊ฐ(:) ๊ฐ์ ์์๋ ์ฝ๋ก ์ ๋๊ฐ(::)์ฐ์ง๋ง ํ๋๋ง ์ฐ์ด๋ ๊ฑฐ์ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ์ ๋๋ก ์๋ํ๋ค.
์์๊ฐ ๋ํ์ ์ธ ๊ฐ์ ์์๋ค์ด๊ณ ๋ ๋ง์ ์ ๋ณด๋ ์๋ ๋งํฌ์์ ์ป์ ์ ์๋ค.
https://developer.mozilla.org/ko/docs/Web/CSS/Pseudo-elements
์ด๋ฅผ ์ด์ฉํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ์.
/*style.css*/
*{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
background-color:#0F5BFF;
}
.wrap{
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
color:white;
text-align: center;
}
.material-icons{ /*์์ด์ฝ ํฌ๊ธฐ*/
font-size:10rem;
}
.lg-text{ /*์ฒซ๋ฒ์งธ ์ค ๊ธ์ ํฌ๊ธฐ*/
font-size:2rem;
font-weight:bold;
margin-bottom:5px;
}
.sm-text{ /*๋๋ฒ์งธ ์ค ๊ธ์ ํฌ๊ธฐ*/
font-size: 1.5rem;
}
#dynamic{
position:relative;
}
#dynamic::after{
content:"";
/*์์ ๋ชจ์์ผ๋ก ๋ณด์ด๊ฒ ํจ*/
display:block;
/*dynamic๋ด์์ ์ค๋ฅธ์ชฝ ๋์ ์์นํ๋๋ก ํจ*/
position:absolute;
top:0;
right:0;
/*์์์ ๊ตต๊ธฐ ๋ฐ ๊ธธ์ด*/
width:4px;
height:100%;
/*์์์ ์๊น*/
background-color: white;
}
๊ทธ๋ฐ๋ฐ ๊ธ์์ ๋์ ์ปค์๊ฐ ์์ฑ๋์ด์ผ ํ๋๋ฐ ์ ์ฝ๋๋ฅผ ์ด์ฉํ๋ฉด ๊ธ์๋ฅผ ์ง์๋ ์ปค์๊ฐ ์์์ ๋์ ์์นํ๊ฒ ๋๋ค. ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด์๋ inline-block์์ฑ์ ์ฃผ์ด์ผ ํ๋ค. ๋ ์ปค์๊ฐ ๊น๋นก ๊น๋นก ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ค๋ฉด ์ปค์๊ฐ ๋ณด์ด์ง ์๊ฒ ๋์๋ค๊ฐ ๋ณด์ด๊ฒ ๋๋ ๊ฒ์ด ๋ฐ๋ณต ๋์ด์ผ ํ๋ค. ์ด๋ฅผ ์ํด ์ฝ๋๋ฅผ ์กฐ๊ธ ๋ ์์ฑํ์.
/*style.css*/
*{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
background-color:#0F5BFF;
}
.wrap{
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
color:white;
text-align: center;
}
.material-icons{ /*์์ด์ฝ ํฌ๊ธฐ*/
font-size:10rem;
}
.lg-text{ /*์ฒซ๋ฒ์งธ ์ค ๊ธ์ ํฌ๊ธฐ*/
font-size:2rem;
font-weight:bold;
margin-bottom:5px;
}
.sm-text{ /*๋๋ฒ์งธ ์ค ๊ธ์ ํฌ๊ธฐ*/
font-size: 1.5rem;
}
#dynamic{
position:relative;
/*์ปค์๊ฐ ๊ธ์ ๋์ ์์ฐ์ค๋ฝ๊ฒ ์กด์ฌํ๋๋ก ์ถ๊ฐ๋ ๋ถ๋ถ*/
display:inline-block;
}
#dynamic::after{
content:"";
/*์์ ๋ชจ์์ผ๋ก ๋ณด์ด๊ฒ ํจ*/
display:block;
/*dynamic๋ด์์ ์ค๋ฅธ์ชฝ ๋์ ์์นํ๋๋ก ํจ*/
position:absolute;
top:0;
right:0;
/*์์์ ๊ตต๊ธฐ ๋ฐ ๊ธธ์ด*/
width:4px;
height:100%;
/*์์์ ์๊น*/
background-color: white;
}
/*activeํด๋์ค๋ฅผ ๊ฐ์ง๊ฒ ๋ ๊ฒฝ์ฐ ์๋ณด์ด๊ฒ ๋๋ค.*/
#dynamic.active::after{
display: none;
}
๋ง์ง๋ง 3์ค์ ์ํด ์ฐ๋ฆฌ๊ฐ JavaScript๋ฅผ ํตํด dynamic์ active ํด๋์ค๋ฅผ ์ถ๊ฐํ ๊ฒฝ์ฐ ์ปค์๋ ์๋ณด์ด๊ฒ ๋๋ค. ์ ์ฝ๋์ ์คํํ๋ฉด์ ์๋์ ๊ฐ๋ค.
์ปค์์ ์์น๋ฅผ ์กฐ๊ธ๋ง ์ค๋ฅธ์ชฝ์ ์ฎ๊ธฐ๋ ค๋ฉด ์ฝ๋๋ฅผ ์๋์ ๊ฐ์ด ์ ๋ ฅํ๋ฉด ๋๋ค.
/*style.css*/
*{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
background-color:#0F5BFF;
}
.wrap{
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
color:white;
text-align: center;
}
.material-icons{
font-size:10rem;
}
.lg-text{
font-size:2rem;
font-weight:bold;
margin-bottom:5px;
}
.sm-text{
font-size: 1.5rem;
}
#dynamic{
position:relative;
display:inline-block;
}
#dynamic::after{
content:"";
display:block;
position:absolute;
top:0;
right:-10px; /*์์ ๋ ๋ถ๋ถ*/
width:4px;
height:100%;
background-color: white;
}
#dynamic.active::after{
display: none;
}
JavaScript
1. main.js ํ์ผ๊ณผ index.htmlํ์ผ ์ฐ๊ฒฐํ๊ธฐ
์ด ์ฝ๋๋ฅผ index.html์ .bodyํ๊ทธ ์์ ๋ฃ์ผ๋ฉด ๋ ํ์ผ์ ์ฐ๊ฒฐ์ด ์๋ฃ๋๋ค.
<script src="main.js"></script>
index.html์ ์๋์ ๊ฐ๋ค.
<!--index.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="style.css" rel="stylesheet">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Typing text</title>
</head>
<body>
<div class="wrap">
<h1><span class="material-icons">
important_devices
</span>
</h1>
<p id="dynamic" class="lg-text">
Learn to JavaScript
</p>
<p class="sm-text">
kite707 | Computer Engineering
</p>
</div>
<script src="main.js"></script>
</body>
</html>
2. ์ปค์ ๊น๋นก์ ํจ๊ณผ ์ฃผ๊ธฐ
toggle : ํ ๊ธ์ด๋ผ๋ ์ฉ์ด๋ ์ค์ง ๋ ๊ฐ์ง ์ํ๋ฐ์๋ ์๋ ์ํฉ์์, ์ค์์น๋ฅผ ํ๋ฒ ๋๋ฅด๋ฉด ํ ๊ฐ์ด ๋๊ณ , ๋ค์ ํ๋ฒ ๋๋ฅด๋ฉด ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ณํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๊ฐ์์์๋ toggleํจ์๋ฅผ ์ด์ฉํ๋๋ฐ ์ด๋ jQuery์์ ์ฌ์ฉ๊ฐ๋ฅํ ํจ์์ด๋ค.(๋ฐ๋ผ์ ๋ง์ฝ jQuery๊ฐ ์ปดํจํฐ์ ์ค์น๋์ด ์์ง ์๋ค๋ฉด ์๋ ์ฝ๋๋ฅผ <head></head>์ฌ์ด์ ๋ถ์ฌ๋ฃ๊ธฐ ํด์ผํ๋ค.)
<script
src="https://code.jquery.com/jquery-3.5.1.js"
integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
crossorigin="anonymous"></script>
toggleํจ์์ ์ฌ์ฉ๋ฒ์ ์๋์ ๊ฐ๋ค.
"ID์ด๋ฆ".toggle("class์ด๋ฆ"); //class์ด๋ฆ์ ๊ฒฝ์ฐ ์์์ ()๋ง ํด๋ ์ฌ์ฉ๊ฐ๋ฅ
//์ด์ ์ํ์ ๋ฐ๋ผ ํ์ฌ ์ํ๋ฅผ ๋ฐ๋๋ก ๋ฐ๊ฟ์ค
์ด๋ฅผ setIntervalํจ์์ ํจ๊ป ์ฌ์ฉํ๋ฉด ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.
//main.js
let target=document.querySelector("#dynamic");
function blink(){
target.classList.toggle("active");
}
setInterval(blink, 500); //blinkํจ์๋ฅผ 0.5์ด์ ํ๋ฒ์ฉ ํธ์ถ
'WEB > HTML+CSS+JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] document.write()ํจ์ ์์น (0) | 2021.04.09 |
---|---|
[CSS] ์์, ํ์ ์ ํ์ ์ฐจ์ด์ (0) | 2021.03.24 |
๋ฐ๋๋ผ ์คํฌ๋ฆฝํธ - part 3์ ๋ฆฌ (0) | 2021.01.04 |
๋ฐ๋๋ผ ์คํฌ๋ฆฝํธ - part 2 ์ ๋ฆฌ (0) | 2021.01.04 |
JavaScript ๋ด์ฉ์ ๋ฆฌ - 4 (0) | 2021.01.04 |
๋๊ธ