2021. 10. 19. 15:39ใHTML + CSS + JS
1. ์ต๋ช ํจ์
์ต๋ช ํจ์๋ ํจ์์ ์ด๋ฆ์ด ์๋ ํจ์์ด๋ค.
๋ฐ๋ผ์ ์ต๋ช ํจ์๋ฅผ ์ ์ธํ ๋๋ ํจ์์ ์ด๋ฆ์ด ์๋ค.
2. ์ฆ์ ์คํ ํจ์
์ฆ์ ์คํ ํจ์๋ ํ๋ฒ๋ง ์คํํ๋ ํจ์๋ฅผ ์ ์ํ๊ณ ๋์์ ์คํํ๋ ํจ์์ด๋ค.
(function () {
๋ช ๋ น
} () );
(function (๋งค๊ฐ๋ณ์) {
๋ช ๋ น
} (์ธ์) );
3. ํ์ดํ ํจ์
(๋งค๊ฐ๋ณ์) => { ํจ์ ๋ด์ฉ }
4. ์ด๋ฒคํธ
1๏ธโฃ ๋ง์ฐ์ค ์ด๋ฒคํธ
click : ์ฌ์ฉ์๊ฐ html ์์๋ฅผ ํด๋ฆญํ ๋ ์ด๋ฒคํธ ๋ฐ์
dbclick : ์ฌ์ฉ์๊ฐ html ์์๋ฅผ ๋๋ธ ํด๋ฆญํ ๋ ์ด๋ฒคํธ ๋ฐ์
mousedown : ์ฌ์ฉ์๊ฐ ์์ ์์์ ๋ง์ฐ์ค ๋ฒํผ์ ๋๋ ์ ๋ ์ด๋ฒคํธ ๋ฐ์
mousemove : ์ฌ์ฉ์๊ฐ ์์ ์์์ ๋ง์ฐ์ค ํฌ์ธํฐ๋ฅผ ์์ง์์ ๋ ์ด๋ฒคํธ ๋ฐ์
mouseover : ๋ง์ฐ์ค ํฌ์ธํฐ๊ฐ ์์ ์๋ก ์ฎ๊ฒจ์ง ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์
mouseout : ๋ง์ฐ์ค ํฌ์ธํฐ๊ฐ ์์๋ฅผ ๋ฒ์ด๋ ๋ ์ด๋ฒคํธ ๋ฐ์
mouseup : ์ฌ์ฉ์๊ฐ ์์ ์์ ๋์ธ ๋ง์ฐ์ค ๋ฒํผ์์ ์์ ๋ ๋ ์ด๋ฒคํธ ๋ฐ์
2๏ธโฃ ํค๋ณด๋ ์ด๋ฒคํธ
keydown : ์ฌ์ฉ์๊ฐ ํค๋ฅผ ๋๋ฅด๋ ๋์ ์ด๋ฒคํธ ๋ฐ์
keypress : ์ฌ์ฉ์๊ฐ ํค๋ฅผ ๋๋ ์ ๋ ์ด๋ฒคํธ ๋ฐ์
keyup : ์ฌ์ฉ์๊ฐ ํค์์ ์์ ๋ ๋ ์ด๋ฒคํธ ๋ฐ์
3๏ธโฃ ๋ฌธ์ ๋ก๋ฉ ์ด๋ฒคํธ
abort : ๋ฌธ์๊ฐ ์์ ํ ๋ก๋ฉ๋๊ธฐ ์ ์ ๋ถ๋ฌ์ค๊ธฐ๋ฅผ ๋ฉ์ท์ ๋ ์ด๋ฒคํธ ๋ฐ์
error : ๋ฌธ์๊ฐ ์ ํํ ๋ก๋ฉ๋์ง ์์์ ๋ ์ด๋ฒคํธ ๋ฐ์
load : ๋ฌธ์ ๋ก๋ฉ์ด ๋๋๋ฉด ์ด๋ฒคํธ ๋ฐ์
resize : ๋ฌธ์ ํ๋ฉด ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋์ ๋ ์ด๋ฒคํธ ๋ฐ์
scroll : ๋ฌธ์ ํ๋ฉด์ด ์คํฌ๋กค ๋์์ ๋ ์ด๋ฒคํธ ๋ฐ์
unload : ๋ฌธ์์์ ๋ฒ์ด๋ ๋ ์ด๋ฒคํธ ๋ฐ์
4๏ธโฃ ํผ ์ด๋ฒคํธ
blur : ํผ ์์์ ํฌ์ปค์ค๋ฅผ ์์์ ๋ ์ด๋ฒคํธ ๋ฐ์
change : ๋ชฉ๋ก์ด๋ ์ฒดํฌ์ํ ๋ฑ์ด ๋ณ๊ฒฝ๋๋ฉด ์ด๋ฒคํธ ๋ฐ์
focus : ํผ ์์์ ํฌ์ปค์ค๊ฐ ๋์์ ๋ ์ด๋ฒคํธ ๋ฐ์
reset : ํผ์ด ๋ฆฌ์ ๋์์ ๋ ์ด๋ฒคํธ ๋ฐ์
submit : submit ๋ฒํผ์ด ํด๋ฆญํ์ ๋ ์ด๋ฒคํธ ๋ฐ์
5. ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ
์น ๋ฌธ์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์ฒ๋ฆฌํ๋ ํจ์๋ฅผ ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ ํน์ ์ด๋ฒคํธ ํจ๋ค๋ฌ๋ผ๊ณ ํ๋ค.
<ํ๊ทธ on์ด๋ฒคํธ๋ช = "ํจ์๋ช ">
* ์ฐ์ต๋ฌธ์ 1
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ฒคํธ</title>
<link rel="stylesheet" href="css/event.css">
</head>
<body>
<div id="item">
<img src="images/flower.jpg" alt="">
<button class="over" id="open" onclick="showDetail()">์์ธ ์ค๋ช
๋ณด๊ธฐ</button>
<div id="desc" class="detail">
<h4>๋ฑ์ฌ๋ถ๊ฝ</h4>
<p>๋ถ์๋ฉ๋ฆฌ์นด ์์ฐ์ผ๋ก ๊ฐ์ง์์ ๊ด์์ด๋ก ํํ ์ฌ๊ณ ์๋ ๊ทํ์๋ฌผ์ด๋ค. ๊ธธ๊ฐ๋ ์๋๋ฐญ์์ ํํ ๋ณผ ์ ์๋ค. ์์ฃผ ์์ ์จ์์ ๋ฌด์ํ ๋ง์ด ๊ฐ์ง๊ณ ์๋๋ฐ ๋ฐ๋์ ์ด์ฉํด ์จ์๋ค์ ๋ ๋ ค๋ณด๋ด๊ฑฐ๋, ๋ฟ๋ฆฌ์ค๊ธฐ๋ฅผ ํตํด ๋์ผํ ๊ฐ์ฒด๋ค์ ๋ง์ด ๋ง๋ค์ด ๋์ผ๋ก์จ ๋ฒ์ํ๋ค. </p>
<button id="close" onclick="hideDetail()">์์ธ ์ค๋ช
๋ซ๊ธฐ</button>
</div>
</div>
<script>
function showDetail() {
document.querySelector('#desc').style.display = "block"; // ์์ธ ์ค๋ช
๋ถ๋ถ์ ํ๋ฉด์ ํ์
document.querySelector('#open').style.display = "none"; // '์์ธ ์ค๋ช
๋ณด๊ธฐ' ๋จ์ถ๋ฅผ ํ๋ฉด์์ ๊ฐ์ถค
}
function hideDetail() {
document.querySelector('#desc').style.display = "none"; // ์์ธ ์ค๋ช
๋ถ๋ถ์ ํ๋ฉด์์ ๊ฐ์ถค
document.querySelector('#open').style.display = "block"; // '์์ธ ์ค๋ช
๋ณด๊ธฐ' ๋จ์ถ๋ฅผ ํ๋ฉด์ ํ์
}
</script>
</body>
</html>
6. DOM์ ์ด์ฉํ ์ด๋ฒคํธ ์ฒ๋ฆฌ
์น์์.onclick = ํจ์;
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ฒคํธ</title>
<link rel="stylesheet" href="css/event.css">
</head>
<body>
<div id="item">
<img src="images/flower.jpg" alt="">
<button class="over" id="open">์์ธ ์ค๋ช
๋ณด๊ธฐ</button>
<div id="desc" class="detail">
<h4>๋ฑ์ฌ๋ถ๊ฝ</h4>
<p>๋ถ์๋ฉ๋ฆฌ์นด ์์ฐ์ผ๋ก ๊ฐ์ง์์ ๊ด์์ด๋ก ํํ ์ฌ๊ณ ์๋ ๊ทํ์๋ฌผ์ด๋ค. ๊ธธ๊ฐ๋ ์๋๋ฐญ์์ ํํ ๋ณผ ์ ์๋ค. ์์ฃผ ์์ ์จ์์ ๋ฌด์ํ ๋ง์ด ๊ฐ์ง๊ณ ์๋๋ฐ ๋ฐ๋์ ์ด์ฉํด ์จ์๋ค์ ๋ ๋ ค๋ณด๋ด๊ฑฐ๋, ๋ฟ๋ฆฌ์ค๊ธฐ๋ฅผ ํตํด ๋์ผํ ๊ฐ์ฒด๋ค์ ๋ง์ด ๋ง๋ค์ด ๋์ผ๋ก์จ ๋ฒ์ํ๋ค. </p>
<button id="close">์์ธ ์ค๋ช
๋ซ๊ธฐ</button>
</div>
</div>
<script>
document.querySelector('#open').onclick = function() {
document.querySelector('#desc').style.display = "block"; // ์์ธ ์ค๋ช
๋ถ๋ถ์ ํ๋ฉด์ ํ์
document.querySelector('#open').style.display = "none"; // '์์ธ ์ค๋ช
๋ณด๊ธฐ' ๋จ์ถ๋ฅผ ํ๋ฉด์์ ๊ฐ์ถค
}
document.querySelector('#close').onclick = function() {
document.querySelector('#desc').style.display = "none"; // ์์ธ ์ค๋ช
๋ถ๋ถ์ ํ๋ฉด์์ ๊ฐ์ถค
document.querySelector('#open').style.display = "block"; // '์์ธ ์ค๋ช
๋ณด๊ธฐ' ๋จ์ถ๋ฅผ ํ๋ฉด์ ํ์
}
</script>
</body>
</html>
์์ ์ฐ์ต๋ฌธ์ 1์ html์ dom์ ์ด์ฉํด์ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ ๊ฒ์ด๋ค.
์ง๊ธ๊น์ง๋ html์ด ์ค์ ์ด ๋์ด ์๋ฐ์คํฌ๋ฆฝํธ์ ํจ์๋ฅผ ๋ถ๋ฌ์ ์ฌ์ฉํ ๊ฒ์ด๋ผ๋ฉด
dom์ ์ฌ์ฉํ๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ค์ ์ด ๋์ด html ์์๋ฅผ ๊ฐ์ ธ์ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ค.
์์ ์์ค์ฝ๋๋ฅผ ๋ณด๋ฉด
'HTML + CSS + JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
14-1. JS ๊ฐ์ฒด (๊ฐ์ฒด, ์ธ์คํด์ค, ํ๋กํผํฐ, ๋ฉ์๋, Array๊ฐ์ฒด, Date ๊ฐ์ฒด, Math ๊ฐ์ฒด), ์ฐ์ต๋ฌธ์ (0) | 2021.10.20 |
---|---|
13-4. JS ํจ์ ์ฐ์ต๋ฌธ์ (0) | 2021.10.19 |
13-2. JS ํจ์ (let, const, ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํจ์) (0) | 2021.10.19 |
13-1. JS ํจ์ (์ง์ญ๋ณ์, ์ ์ญ๋ณ์, ํธ์ด์คํ , ์ฌ์ ์ธ, ์ฌํ ๋น) (0) | 2021.10.19 |
12-4. JS ์ฐ์ต๋ฌธ์ 1,2 (0) | 2021.10.18 |