๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JavaScript

[javascript] ์›นUI๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋ฉฐ ๊ณต๋ถ€ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•

  ๐ŸŒˆ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 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
๋ฐ˜์‘ํ˜•