๐ ์๋ฐ์คํฌ๋ฆฝํธ๋ HTML ์กฐ์์ ์ํด ์ฌ์ฉ
์๋ฐ์คํฌ๋ฆฝํธ๋ "html ์กฐ์๊ณผ ๋ณ๊ฒฝ" ์ ๋ด๋นํ๋ ์ธ์ด์ด๋ค.
์ ์กฐ์์ ํ๋?
- ํญ, ๋ชจ๋ฌ ๋ฑ ์นํ์ด์ง UI ๋ง๋ค ์ ์์
- ์ ์ ๊ฐ ์ ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฌํ ์ ์์
- ์ ์ ๊ฐ ๋ฒํผ ๋๋ฅด๋ฉด ์๋ฒ๋ก ๋ฐ์ดํฐ ์์ฒญ ํ ์ ์์
๐ html ์กฐ์, ๋ณ๊ฒฝํ๋ ค๋ฉด
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<h1 id="hello">์๋
ํ์ธ์</h1>
<script>
document.getElementById("hello").innerHTML = "์๋
"; //html ๋ฌธ์์ id="hello" ์ธ๊ฑฐ ์ฐพ์์ ๊ทธ๊ฑฐ์ ๋ด๋ถ HTML์ '์๋
' ์ง์ด๋ฃ์ด๋ผ
</script>
</body>
</html>
์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ง๊ณ ์ถ์ผ๋ฉด <script> ํ๊ทธ ์์ ์ ์ผ๋ฉด ๋๋ค
๊ทธ๋ฆฌ๊ณ ์์ฒ๋ผ ๊ทธ๋๋ก ํ ์ค ์์ฑํ๋ฉด ์๋ ํ์ธ์ ์๋ <h1>ํ๊ทธ๊ฐ ์๋ ์ผ๋ก ๋ฐ๋
๐ก ๊ฒฐ๋ก ,
document.getElemantById('???').??? = '???';
์ฌ๊ธฐ ๋ฌผ์ํ๋ง ๋ง๋๋ก ๋ฐ๊ฟ์ฃผ๋ฉด html์ ๋ชจ๋ ๊ฑธ ๋ณ๊ฒฝํ๊ณ ์กฐ์ ๊ฐ๋ฅ
document.getElementById('???').src = 'profile.jpg';
์ํ๋ ์์์ ์ด๋ฏธ์ง๋ ์ถ๊ฐ ํ ์ ์๊ณ
document.getElementById('???').style.color = 'red';
์์์ style="color:red" ๋ ์ถ๊ฐ ๊ฐ๋ฅ
๐ ์ฐธ๊ณ
.getElementById() ๋ ์ ๋ ํฐ๋ผ๊ณ ๋ถ๋ฅธ๋ค. html ์์๋ฅผ ์ฐพ๊ธฐ ์ํด ์ฌ์ฉ
.innerHTML / .style / .color ์ด๋ ๊ฒ ์ ์ฐ๋๋ฐ ๊ดํธ์๋๊ฑด ๋ฉ์๋(๋๋ ํจ์) ๋ผ๊ณ ๋ถ๋ฅธ๋ค. html ์์์ ์ด๋ค ์์ฑ์ ๋ณ๊ฒฝํ ์ง ๊ฒฐ์ ํ๊ธฐ ์ํด ์ฌ์ฉ
๐ ๋์ UI ๋ง๋ค๊ธฐ - Alert ๋ฐ์ค ๋ง๋ค๊ธฐ
๐ ๊ธฐ๋ณธ์ ์ธ UI ๋ง๋๋ ๋ฒ์น
1. HTML CSS ๋ก ๋ฏธ๋ฆฌ UI ๋์์ธ์ ํด๋๊ณ ํ์ํ๋ฉด ํ์์ ์จ๊น
2. ๋ฒํผ์ ๋๋ฅด๊ฑฐ๋ ํ ๊ฒฝ์ฐ UI ๋ฅผ ๋ณด์ฌ๋ฌ๋ผ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ์งฌ
1๏ธโฃ Alert UI ๋์์ธ๋ถํฐ ํจ
// html ํ์ผ
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<link rel="stylesheet" href="main.css" />
</head>
<body>
<div class="alert-box" id="alert">
์๋ฆผ์ฐฝ์
<button onclick="document.getElementById('alert').style.display='none'">
</div>
<button onclick="document.getElementById('alert').style.display='block'">
๋ฒํผ
</button>
</body>
</html>
// CSS ํ์ผ
.alert-box {
background-color: skyblue;
padding: 20px;
color: white;
border-radius: 5px;
display: none;
}
UI ๋ฅผ ํ์์ ์จ๊ธฐ๊ณ ์ถ์ผ๋ฉด display : none ์ ์ฃผ๋ฉด ๋๋ค
๋ค์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ผ๋ฉด display : block ๋ฃ์ผ๋ฉด ๋๋ค
์ซ์ผ๋ฉด visibility : hidden ๋ ์๋ค
2๏ธโฃ ๋ฒํผ ๋๋ฅด๋ฉด alert UI ๋ณด์ฌ์ฃผ๊ธฐ
<button onclick="Alert ๋ฐ์ค ๋ณด์ฌ์ฅฌ~"> ๋ฒํผ </button>
onclick : html์ ํด๋ฆญ์ onclick ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์คํํด์ค๋ค
<button onclick="document.getElementById('์ด์ฉ๊ตฌ').style.display = 'block';"> ๋ฒํผ </button>
html์ ๋ณ๊ฒฝํ ๋ ํญ์ document ๋ถํฐ ์์ํ๋ ~ ์ฐ๋ฉด ๋จ
๐ function ๋ฌธ๋ฒ
function ์์ ๋กญ๊ฒ์๋ช
() {
์ถ์ฝํ๊ณ ์ถ์ ๊ธด ์ฝ๋
}
๐ Alert ์ฌ๋ ์ฝ๋ function ์ผ๋ก ์ถ์ฝ ํด๋ณด๊ธฐ
<button onclick="์๋ฆผ์ฐฝ์ด๊ธฐ()">์๋ฆผ์ฐฝ ์ฌ๋ ๋ฒํผ</button>
<script>
function ์๋ฆผ์ฐฝ์ด๊ธฐ(){
document.getElementById('alert').style.display = 'block';
}
</script>
์๋ฆผ์ฐฝ์ด๊ธฐ() ๋ผ๊ณ ์ธ ๋๋ง๋ค function ์์ ์๋ ๊ธด ์ฝ๋๊ฐ ์คํ๋๋ค
โ ํจ์ ์ด๋ฆ ์์ฑ ์
- open_alert() ์ด๋ฐ๊ฑฐ ์ฐ๋ฉด ์๋จ
- openAlert() ์ด๋ ๊ฒ ๋ถ์ฌ์ ์ฐ๋๊ฒ ์๋ฐ์คํฌ๋ฆฝํธ ๊ด์ต (์ผ๋ช camelCase)
๐ function์ ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ
function ์๋ฆผ์ฐฝ์ด๊ธฐ(ํ๋ผ๋ฏธํฐ){
document.getElementById('alert').style.display = ํ๋ผ๋ฏธํฐ;
}
์๋ฆผ์ฐฝ์ด๊ธฐ('์๋
');
์๋ฆผ์ฐฝ์ด๊ธฐ('์ฒ์ฌ');
์๋ฆผ์ฐฝ์ด๊ธฐ('none'); // ์ด๊ฑฐ ์คํํ๋ฉด ์๋ฆผ์ฐฝ์ด๋ฆด๋ฏ
์๋ฆผ์ฐฝ์ด๊ธฐ('block'); //์๋ ๋ซํ๋ฏ
๐ป ํจ์ํ๋๋ก ๊ฐ๊ธฐ ๋ค๋ฅธ ์๋ฆผ์ฐฝ ๋ฒํผ ๋๋ฅด๊ธฐ
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<link rel="stylesheet" href="main.css" />
</head>
<body>
<div class="alert-box" id="alert">
์๋ฆผ์ฐฝ์
<button onclick="์๋ฆผ์ฐฝ('none'); ">๋ซ๊ธฐ</button>
</div>
<button onclick="์๋ฆผ์ฐฝ('block'); ">๋ฒํผ</button>
<script>
function ์๋ฆผ์ฐฝ(parameter) {
document.getElementById("alert").style.display = parameter;
}
์๋ฆผ์ฐฝ("block");
์๋ฆผ์ฐฝ("none");
</script>
</body>
</html>
ํจ์ ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ์๊น์ฒ๋ผ ํจ์ 2๊ฐ๋ ๋ง๋ค ํ์ ์์
๐ ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ ์ดํด๋ฅผ ์ํ ์์
function plus(๊ตฌ๋ฉ) {
2 + ๊ตฌ๋ฉ
}
plus(3) // 2+3
function plus2(๊ตฌ๋ฉ1, ๊ตฌ๋ฉ2) {
๊ตฌ๋ฉ1 + ๊ตฌ๋ฉ2
}
plus(2, 3) // 2+3
๐ ์ด๋ฒค ํธ ๋ฆฌ์ค๋
๐ ๋ฒํผ ๋ณ ์๋ฆผ์ฐฝ ๋ง๋ค๊ธฐ
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<link rel="stylesheet" href="main.css" />
</head>
<body>
<div class="alert-box" id="alert">
<p id="title">์๋ฆผ์ฐฝ์</p>
<button onclick="์๋ฆผ์ฐฝ('none'); ">๋ซ๊ธฐ</button>
</div>
<button onclick="์๋ฆผ์ฐฝ('block'); ">์๋ฆผ์ฐฝ</button>
<div>
<button onclick="์์ด๋์๋ฆผ์ฐฝ();">๋ฒํผ1</button>
<button onclick="๋น๋ฒ์๋ฆผ์ฐฝ();">๋ฒํผ2</button>
</div>
<script>
function ์๋ฆผ์ฐฝ(parameter) {
document.getElementById("alert").style.display = parameter;
}
์๋ฆผ์ฐฝ("block");
์๋ฆผ์ฐฝ("none");
function ์์ด๋์๋ฆผ์ฐฝ() {
document.getElementById("title").innerHTML = "์์ด๋ ์
๋ ฅ ํ์
";
document.getElementById("alert").style.display = "block";
}
function ๋น๋ฒ์๋ฆผ์ฐฝ() {
document.getElementById("title").innerHTML = "๋น๋ฒ ์
๋ ฅ ํ์
";
document.getElementById("alert").style.display = "block";
}
</script>
</body>
</html>
๐ getElementsClassName ์ ๋ ํฐ
์ด๋ค html ์์๋ฅผ ์ฐพ๊ณ ๋ณ๊ฒฝํ ๋ id ๋ก ์ฐพ์์๋๋ฐ class ๋ก๋ ์ฐพ์ ์ ์๋ค!!
728x90
๋ฐ์ํ
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ DeepDive] 34. ์ดํฐ๋ฌ๋ธ (0) | 2023.02.04 |
---|---|
[๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ-DeepDive]39์ฅ DOM (1) | 2023.02.04 |
[javascript]03_๋ฐ์ดํฐํ์ let vs var, hoisting (0) | 2022.01.07 |
[javascript]02_ script async ์ defer์ ์ฐจ์ด์ (0) | 2022.01.06 |
[javascript]01 ์๋ฐ์คํฌ๋ฆฝํธ ์คํํ๊ธฐ (0) | 2022.01.06 |