ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง ์—ฐ์Šต2
    JavaScript 2020. 9. 13. 23:11

    ๐ŸŽฏ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋‹ค์–‘ํ•œ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง ๋ฌธ์ œ๋ฅผ ์—ฐ์Šตํ•ด๋ณธ๋‹ค.


     

     

     

    ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋ฌธ์ œ ์—ฐ์Šต


    1. ์ฆ๊ฐ ๋ฒ„ํŠผ

    +๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ฐ’์ด 1์”ฉ ์ฆ๊ฐ€ํ•˜๊ณ  –๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ฐ’์ด 1์”ฉ ๊ฐ์†Œํ•˜ ๋„๋ก ๊ตฌํ˜„. ๋งŒ์•ฝ ๊ฐ’์ด 1์ธ ์ƒํƒœ์—์„œ –๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ฐ’์ด ๊ฐ์†Œ๋˜์ง€ ์•Š๊ณ  1์ธ ์ƒํƒœ๋กœ ์œ ์ง€.

    <body>
        ๊ฐฏ์ˆ˜<input type="text" name="quantity" id="quantity" value="1">
        <button id="up" onclick="up()">+</button>
        <button id="down" onclick="down()">-</button>
    </body>
    <script type="text/javascript">
    
        function up() {
            var count = document.getElementById("quantity").value;
            document.getElementById("quantity").value = parseInt(count) + 1;
        }
    
        function down() {
            var count = document.getElementById("quantity").value;
            if (count != 1) {
                document.getElementById("quantity").value = parseInt(count) - 1;
            }
        }
    </script>

    2. ์ฒดํฌ๋ฐ•์Šค ์„ ํƒ ๊ฒฐ๊ณผ ์ถœ๋ ฅ

    ์ทจ๋ฏธ์— ํ•ด๋‹นํ•˜๋Š” ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  [๊ฒฐ๊ณผ๋ณด๊ธฐ]๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์„ ํƒ ๋œ ๊ฐ’๋“ค์„ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค.

    <body>
        ์ทจ๋ฏธ<br>
        <ul>
            <li>์•ผ๊ตฌ<input type="checkbox" name="hobby" value="์•ผ๊ตฌ"></li>
            <li>๋†๊ตฌ<input type="checkbox" name="hobby" value="๋†๊ตฌ"></li>
            <li>๊ฒŒ์ž„<input type="checkbox" name="hobby" value="๊ฒŒ์ž„"></li>
        </ul>
        <button onclick="show()">๊ฒฐ๊ณผ๋ณด๊ธฐ</button><br>
        ๊ฒฐ๊ณผ๊ฐ’:<div id="result"></div>
    </body>
    <script type="text/javascript">
        function show() {
            var arr = document.querySelectorAll("input[name='hobby']");
            var str = "";
            for (var i = 0; i < arr.length; i++) {
                var c = arr[i];
                if (c.checked) {
                    str += c.value + "<br>";
                }
            }
            document.getElementById('result').innerHTML = "<h1>" + str + "</h1>";
        }
    </script>

    3. ๊ธ€์ž์ˆ˜ ์„ธ๊ธฐ

     

    textarea์— ์ž…๋ ฅํ•œ ๊ธ€์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค. ๊ธ€์ž๋ฅผ ์ž…๋ ฅํ•  ๋•Œ ๋งˆ๋‹ค ๋™์‹œ์— ์ž…๋ ฅ ๋ฌธ์ž์ˆ˜์— ์ž…๋ ฅํ•œ ๊ธ€์ž ๊ฐœ์ˆ˜๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

    <body>
        ๊ธ€์ž์ˆ˜ ์„ธ๊ธฐ<br>
        <textarea rows="10" cols="10" onkeydown="change()"></textarea><br>
        ์ž…๋ ฅ๋ฌธ์ž์ˆ˜:<span id="result"></span>
    
            <script type="text/javascript">
            function change() {
                var text = document.querySelector('textarea').value;
                document.getElementById('result').innerHTML = text.length;
            }
        </script>
    </body>

    4. ์ „์ฒด์„ ํƒ ์ฒดํฌ๋ฐ•์Šค

    ์ „์ฒด์„ ํƒ์„์ฒดํฌํ•˜๋ฉด๋ชจ๋“ ์ฒดํฌ๋ฐ•์Šค๊ฐ€์„ ํƒ์ด๋˜๊ณ ,์ „์ฒด์„ ํƒ์„ํ•ด์ œ ํ•˜๋ฉด ๋ชจ๋“  ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ํ•ด์ œ๋œ๋‹ค.

    <body>
        ์ „์ฒด์„ ํƒ
        <input type="checkbox" name="all" onclick="check(this)"><br>
        <input type="checkbox" name="java" class="lang">java<br>
        <input type="checkbox" name="sql" class="lang">sql<br>
        <input type="checkbox" name="angular" class="lang">angular<br>
    </body>
    <script type="text/javascript">
        function check(n) {
            var lang = document.querySelectorAll(".lang");
            for (var i = 0; i < lang.length; i++) {
                lang[i].checked = n.checked;
            }
        }
    </script>

    this๋กœ ๋„˜๊ฒจ์ฃผ๋ฉด ์ธํ’‹ ์ „์ฒด๊ฐ€ ๋„˜์–ด๊ฐ„๋‹ค.? ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ ๊ทธ๋ƒฅ ์ง€ ์ธํ’‹๋งŒ ๊ฐ€๋Š”๋“ฏ. ์ฒดํฌํ•จ์ˆ˜๋Š” n์œผ๋กœ ๋ฐ›๊ณ 

    5. input๊ฐ’ ๋ณต์‚ฌ ์ฒดํฌ๋ฐ•์Šค

    ์‡ผํ•‘๋ชฐ์—์„œ ๋ฐฐ์†ก์ง€ ์ •๋ณด๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ์‹ค์Šต์˜ˆ์ œ๋กœ์„œ, ํšŒ์› ๊ฐ€์ž…์‹œ ์ € ์žฅ๋œ ์ •๋ณด์™€ ๋ฐฐ์†ก์ง€ ์ •๋ณด๊ฐ€ ๋™์ผํ•œ ๊ฒฝ์šฐ์—๋Š” ๋™์ผ checkbox ์ฒดํฌ์‹œ ์ž๋™ ์œผ๋กœ ํšŒ์›์ •๋ณด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐฐ์†ก์ง€ ์ •๋ณด๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„.

    <body>
        ํšŒ์›์ •๋ณด<br>
        ์ฃผ์†Œ<input type="text" name="address1" id="address1" value="์„œ์šธ์‹œ ๊ฐ•๋‚จ๊ตฌ"><br>
        ์ „ํ™”๋ฒˆํ˜ธ<input type="text" name="phone1" id="phone1" value="010-1234-1234"><br>
        <hr>
        ๋™์ผ<input type="checkbox" name="chk" onclick="check(this)">
        <hr>
        ๋ฐฐ์†ก์ง€ ์ •๋ณด<br>
        ์ฃผ์†Œ<input type="text" name="address2" id="address2" value=""><br>
        ์ „ํ™”๋ฒˆํ˜ธ<input type="text" name="phone2" id="phone2" value=""><br>
    </body>

    ํ•จ์ˆ˜๋งŒ ํ˜ธ์ถœํ•ด์„œ this ๋„˜๊ธฐ๊ธฐ

    <script type="text/javascript">
        function check(n) {
            if (n.checked) {
                document.getElementById("address2").value =
                    document.getElementById('address1').value;
                document.getElementById("phone2").value =
                    document.getElementById('phone1').value;
            } else {
                document.getElementById("address2").value = "";
                document.getElementById("phone2").value = "";
            }
        }
    </script>

    if ๋ฌธ์œผ๋กœ ํ† ๊ธ€๊ธฐ๋Šฅ. checked ๊ธฐ์–ตํ•˜๊ธฐ

    add์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ๋กœ ๋ฐ”๊ฟ”๋ณด๊ธฐ

    ๋™์ผ<input type="checkbox" name="chk" id="chk" onclick="check(this)">

    id ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ 

    <script type="text/javascript">
        document.getElementById("chk").addEventListener("click", check, false);
        function check() {
            var n = document.getElementById("chk");
            if(n.checked){
                document.getElementById("address2").value =
                    document.getElementById('address1').value;
                document.getElementById("phone2").value =
                    document.getElementById('phone1').value;
            } else {
                document.getElementById("address2").value = "";
                document.getElementById("phone2").value = "";
            }
        }
    </script>

    6. ํ…์ŠคํŠธ ์‚ฌ์ด์ฆˆ ์กฐ์ ˆ

    ์ œ๊ณต๋œ “์•ˆ๋…•ํ•˜์„ธ์š”” ๋ฌธ์ž์—ด์˜ ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์˜ˆ์ œ.
    + ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด 32px๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  – ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด 16px๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

    <body>
      <button onClick="up()">+</button><button onClick="down()">-</button>
      <div id="result">
        ์•ˆ๋…•ํ•˜์„ธ์š”.
      </div>
    </body>
    <script type="text/javascript">
      var size = 32;
      function up() {
        size = size + 4;
        var txt = document.querySelector('#result');
        txt.style = "font-size:" + size + "px";
      }
      function down() {
        size = size - 4;
        var txt = document.querySelector('#result');
        txt.style = "font-size:" + size + "px";
      }
    </script>

    7. ๊ธ€๊ผด ํฌ๊ธฐ ์„ ํƒ ์˜ต์…˜

     

    ์ œ๊ณต๋œ select ํƒœ๊ทธ์˜ ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ ์„ ํƒ์‹œ, ์„ ํƒ๋œ ๊ธ€๊ผด ํฌ๊ธฐ๋กœ “์•ˆ ๋…•ํ•˜์„ธ์š”. ๋ฌธ์ž์—ด์˜ ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์˜ˆ์ œ.

    <body>
      ๊ธ€๊ผดํฌ๊ธฐ:
      <select onchange="fontSize(this.value)">
        <option value="16px">16px</option>
        <option value="32px">32px</option>
        <option value="40px">40px</option>
        <option value="56px">56px</option>
      </select>
      <div id="result">
        ์•ˆ๋…•ํ•˜์„ธ์š”.
      </div>
    </body>

    ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ์…€๋ ‰ํŠธ์˜ ๋ฐธ๋ฅ˜๊ฐ’์„ ํ•ธ๋“ค๋Ÿฌ์— this.value๋กœ ๋ณด๋‚ธ๋‹ค.

    <script type="text/javascript">
      function fontSize(v) {
        var result = document.querySelector('#result');
        result.style = "font-size:" + v;
        }
    </script>

    8. '๊ฐ’์„ ์ž…๋ ฅํ•˜์„ธ์š”' ๊ฒฝ๊ณ ์ฐฝ ์•Œ๋ฆผ

     

    ์œ ํšจ์„ฑ๊ฒ€์‚ฌ์‹ค์Šต์˜ˆ์ œ.์•„์ด๋””์™€๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ’์„์ž…๋ ฅํ•˜์ง€์•Š์œผ๋ฉด‘๊ฒฝ๊ณ ์ฐฝ’ ์ถœ๋ ฅํ•˜๊ณ  ์„ฑ๊ณต์‹œ success.html ๋ณด์—ฌ์ฃผ๋Š” ์‹ค์Šต.

    <body>
        <form action="success.html" onSubmit="return login(event)">
            ์•„์ด๋””<input type="text" name="userid" id="userid"><br>
            ๋น„๋ฐ€๋ฒˆํ˜ธ<input type="text" name="passwd" id="passwd"><br>
            <input type="submit" value="๋กœ๊ทธ์ธ">
        </form>
    </body>
    <script type="text/javascript">
        function login(e) {
    
            var id = document.getElementById("userid");
            var pw = document.getElementById("passwd");
    
            if (id.value.length == 0) {
                alert("์•„์ด๋””๊ฐ’์„ ์ž…๋ ฅํ•˜์‹œ์˜ค");
                id.focus();
                return false;
            }
            if (pw.value.length == 0) {
                alert("๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ’์„ ์ž…๋ ฅํ•˜์‹œ์˜ค");
                pw.focus();
                return false;
            }
        }
    </script>

    9. '๊ฐ’์„ ์ž…๋ ฅํ•˜์„ธ์š”' ๊ฒฝ๊ณ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ

    ์œ ํšจ์„ฑ๊ฒ€์‚ฌ์‹ค์Šต์˜ˆ์ œ.์•„์ด๋””์™€๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ’์„์ž…๋ ฅํ•˜์ง€์•Š์œผ๋ฉดํƒœ๊ทธ ์˜† <span>์˜์—ญ์— ์—๋Ÿฌ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์„ฑ๊ณต์‹œ success.html ๋ณด์—ฌ์ฃผ๋Š” ์‹ค์Šต.

    <body>
        <form action="success.html" onSubmit="return login(event)">
            ์•„์ด๋””<input type="text" name="userid" id="userid">
            <span id="idSpan"></span><br>
            ๋น„๋ฐ€๋ฒˆํ˜ธ<input type="text" name="passwd" id="passwd">
            <span id="pwSpan"></span><br>
            <input type="submit" value="๋กœ๊ทธ์ธ">
        </form>
    </body>
    <script type="text/javascript">
        function login(e) {
            var id = document.getElementById("userid");
            var pw = document.getElementById("passwd");
            var idSpan = document.getElementById("idSpan");
            var pwSpan = document.getElementById("pwSpan");
    
            if (id.value.length == 0) {
                idSpan.innerHTML = "์•„์ด๋””๊ฐ’์„ ์ž…๋ ฅํ•˜์‹œ์˜ค";
                id.focus();
                return false;
            }
            if (pw.value.length == 0) {
                pwSpan.innerHTML = "๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ’์„ ์ž…๋ ฅํ•˜์‹œ์˜ค";
                pw.focus();
                return false;
            }
        }
    </script>

    10. ์ƒˆ ์ฐฝ ์—ด๊ธฐ, ์ƒˆ ์ฐฝ ๋‹ซ๊ธฐ

    ๋ถ€๋ชจ(sample15_stu.html)์ฐฝ์—์„œ ๋ฒ„ํŠผ์„ ์„ ํƒํ•˜์—ฌ ๋™์ž‘์ฒ˜๋ฆฌ ๋˜๋„๋ก ๊ตฌํ˜„ ํ•œ๋‹ค.

    <body>
       <button onClick="childOpen()">์ƒˆ์ฐฝ ์—ด๊ธฐ</button>
       <button onClick="childClose()">์ƒˆ์ฐฝ ๋‹ซ๊ธฐ</button>
       <button onClick="parentClose()">ํ˜„์žฌ์ฐฝ(๋ถ€๋ชจ์žฅ) ๋‹ซ๊ธฐ</button>
    </body>
    <script type="text/javascript">
      var childWin;
      function childOpen() {
         childWin = window.open("childWin.html", "", "width=200,height=200");
      }
      function childClose() {
         childWin.close();
      }
      function parentClose() {
         window.close();
      }
    </script>
    <body>
        childWin.html<br>
        <button onClick="a()">ํ˜„์žฌ์ฐฝ ๋‹ซ๊ธฐ</button>
        <button onClick="b()">๋ถ€๋ชจ์ฐฝ ๋‹ซ๊ธฐ</button>
    </body>
    <script>
            function a() {
                window.close();
            }
            function b() {
                opener.close();
            }
        </script>

     

    11. ์ฃผ์†Œ ์ฐพ์•„๋ณด๊ธฐ ์ฐฝ

    ‘์šฐํŽธ๋ฒˆํ˜ธ’ ๋ฐ ‘์ฃผ์†Œ’์ถ”๊ฐ€ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

    <body>
       ์šฐํŽธ๋ฒˆํ˜ธ<input type="text" name="post" id="post"><br>
       ์ฃผ์†Œ:<input type="text" name="address" id="address"><br>
       ์ถ”๊ฐ€์ฃผ์†Œ:<input type="text" name="address1" id="address1">
       <button onClick="idCheck()">์ฃผ์†Œ</button>
    </body>
    <script type="text/javascript">
      var childWin;
      function idCheck() {
         childWin = window.open("childWin3.html", "", "width=400,height=400");
      }
    </script>

    childwin3

    **<body>
      <table border="1">
        <tr>
          <th>์šฐํŽธ๋ฒˆํ˜ธ</th>
          <th>์ฃผ์†Œ</th>
        </tr>
        <tr>
          <td><a href="javascript:post('12345','์„œ์šธ์‹œ ๊ฐ•๋‚จ๊ตฌ XXX ์•„ํŒŒํŠธ')">12345</a></td>
          <td>์„œ์šธ์‹œ ๊ฐ•๋‚จ๊ตฌ XXX ์•„ํŒŒํŠธ</td>
        </tr>
        <tr>
          <td><a href="javascript:post('99999','๊ฒฝ๊ธฐ๋„ ๊ณ ์–‘์‹œ ZZZ ์•„ํŒŒํŠธ')">99999</a></td>
          <td>๊ฒฝ๊ธฐ๋„ ๊ณ ์–‘์‹œ ZZZ ์•„ํŒŒํŠธ</td>
        </tr>
      </table>
    </body>**
    <script>
      function post(postNum, addr) {
        console.log("post");
        // console.log(opener.document.getElementById("post").value);
        opener.document.getElementById("post").value = postNum;
        opener.document.getElementById("address").value = addr;
        window.close();
      }
      function aaa() {
        console.log("aaa");
      }
    </script>

    12. ์ž…๋ ฅ๊ฐ’ ์ถœ๋ ฅ ๋ฒ„ํŠผ

    ์ž…๋ ฅํ•œ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

    <body>
       ๊ฐ’:<input type="search" name="v1" id="v1">
       <button onClick="save()">์ €์žฅ</button><br>
       <div id="result">
       </div>
    </body>
    <script type="text/javascript">
        var arr = [];
        function save() {
           var v1 = document.querySelector('#v1').value;
           arr.push(v1);
           list();
        }
        function list() {
           var result = document.querySelector('#result');
           var mesg = '';
           for (var i = 0; i < arr.length; i++) {
              mesg = mesg + arr[i] + "<br>";
           }
           result.innerHTML = mesg;
        }
    </script>

    ๋ฐฐ์—ด ์‚ฌ์šฉํ•ด์„œ ๋ฐธ๋ฅ˜๊ฐ’ ํ‘ธ์‹œํ•˜๊ณ  ์ €์žฅ๊ณผ ์ถœ๋ ฅ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ถ„๋ฆฌํ•ด์„œ ๊ตฌํ˜„.

    ์ €์žฅ์—์„œ ์ถœ๋ ฅ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœํ•ด์„œ ๋ฐฐ์—ด ์š”์†Œ ์ „๋ถ€ ์ถœ๋ ฅํ•ด์„œ ๋นˆ ์ŠคํŠธ๋ง์— ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

    13. ์•„์Šคํ‚ค์ฝ”๋“œ ์ถœ๋ ฅ

    <script>
            function test() {
                console.log(event.keyCode);
                document.getElementById('result').innerText = event.keyCode;
            }
        </script>
    </head>
    <body>
        <input type="text" onkeyup="test()">
        <span id="result"></span>
    </body>

    keyCode ์•„์Šคํ‚ค์ฝ”๋“œ

    ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด 13์ด ๋‚˜์˜ด.

    ์—”ํ„ฐ๋ฅผ ์ณ๋„ ์ถ”๊ฐ€๊ฐ€ ๋˜๊ฒŒ๋” ์ž‘์—…ํ•ด๋ณผ๊ฒƒ.

    14. ์—”ํ„ฐํ‚ค๋กœ ์ž…๋ ฅ๊ฐ’ ์ถœ๋ ฅ

    ์ž…๋ ฅํ•œ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. ๋‹จ, ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ณ  enter ํ‚ค๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์ €์žฅํ•˜๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค.

    <body>
        ๊ฐ’:<input type="search" name="v1" id="v1" onkeyup="enter(event)">
        <div id="result">
        </div>
    </body>
    <script type="text/javascript">
        var arr = [];
        function save() {
            var v1 = document.getElementById('v1').value;
            arr.push(v1);
            list();
        }
        function list() {
            var result = document.getElementById('result');
            var mesg = '';
            for (var i = 0; i < arr.length; i++) {
                mesg = mesg + arr[i] + "<br>";
            }
            result.innerHTML = mesg;
        }
        function enter(e) {
            if (e.keyCode == 13) {
                save();
            }
        }
    </script>

    15. +์—ฐ์‚ฐ, ์ดํ•ฉ๊ตฌํ•˜๊ธฐ, ์„ ํƒ๊ฐ’ ์ดํ•ฉ ๊ตฌํ•˜๊ธฐ ๊ตฌํ˜„

     

    ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์—ฐ์‚ฐ์ž‘์—… ์‹ค์Šต์˜ˆ์ œ๋กœ์„œ 1๋ฒˆ ๋ฌธ์ œ๋Š” [์—ฐ์‚ฐ]๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜ ๋ฉด์ž…๋ ฅ๋œ๋‘๊ฐœ์˜๊ฐ’์„๋”ํ•ด์„œ์ถœ๋ ฅํ•˜๊ณ ,
    2๋ฒˆ ๋ฌธ์ œ๋Š” ์ˆ˜๋Ÿ‰์„ ์„ ํƒํ–ˆ์„ ๋•Œ ์ž๋™์œผ๋กœ ๊ฐ€๊ฒฉ๊ณผ ์ˆ˜๋Ÿ‰์„ ์—ฐ์‚ฐํ•˜์—ฌ ์ถœ๋ ฅ ํ•˜๋Š” ๋ฌธ์ œ์ด๊ณ ,

    3๋ฒˆ ๋ฌธ์ œ๋Š” ์„ ํƒ๋œ ๊ณผ์ผ ๊ฐ€๊ฒฉ๋งŒ ๊ณ„์‚ฐํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ์‹ค์Šต๋ฌธ์ œ์ด๋‹ค.

    <h1>1. +์—ฐ์‚ฐ</h1>
    <input type="text" name="v1" id="v1" value="10">+
    <input type="text" name="v2" id="v2" value="20">=
    <input type="text" name="result" id="result" value="">
    <button onclick="sum()">์—ฐ์‚ฐ</button><br>
    function sum() {
        var v1 = document.getElementById('v1').value;
        var v2 = document.getElementById('v2').value;
        var result = parseInt(v1) + parseInt(v2);
            document.getElementById('result').value = result;
    }
    <h1>2. ์ดํ•ฉ ๊ตฌํ•˜๊ธฐ</h1>
    ๊ฐ€๊ฒฉ<input type="text" name="price" id="price" value="2500">X
    ์ˆ˜๋Ÿ‰<select id="quantity" onchange="total()">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
    </select>
    ์ดํ•ฉ:<span id="total"></span>
    function total() {
        var price = document.getElementById('price').value
        var quantity = document.getElementById('quantity').value;
        document.getElementById('total').innerText = price * quantity;
    }
    <h1>3. ์ดํ•ฉ ๊ตฌํ•˜๊ธฐ2 (์„ ํƒ๋œ ๊ฐ’๋งŒ)</h1>
    <div>
        ๋ฐ”๋‚˜๋‚˜(1000์›) <input type="checkbox" name="fruit" class="fruit" value="1000"><br>
        ์‚ฌ๊ณผ(500์›) <input type="checkbox" name="fruit" class="fruit" value="500"><br>
        ๋ฐฐ(1500์›) <input type="checkbox" name="fruit" class="fruit" value="1500"><br>
        <button onclick="totalPrice()">์ดํ•ฉ๊ตฌํ•˜๊ธฐ</button><br>
        ์„ ํƒํ•œ ์ด๊ฐ€๊ฒฉ:<span id="totalPrice"></span>
    </div>
    function totalPrice() {
          var fruit = document.querySelectorAll('.fruit');
        var total = 0;
        for (var i = 0; i < fruit.length; i++) {
          if (fruit[i].checked) {
              total += parseInt(fruit[i].value);
          }
        }
    document.getElementById('totalPrice').innerText = total;
    }

    ๋‚˜๋Š” ์š” 3๋ฒˆ์ด ์–ด๋ ค์› ๋‹ค. ์ฒดํฌ๋ฐ•์Šค ์ฒดํฌ๋“œ ๊ณ ๋ฅด๊ธฐ ์–ด๋–ป๊ฒŒ ํ•˜๋”๋ผ? ํ–ˆ๋Š”๋ฐ ์ผ๋‹จ ํด๋ž˜์Šค๋กœ ์…€๋ ‰ํŠธ ์—ฌ๋Ÿฌ๊ฐœ ํ–ˆ์œผ๋‹ˆ๊นŒ ๋ฐ˜๋ณต๋ฌธ ์จ์„œ ํ•˜๋‚˜์”ฉ ์ฒดํฌ๋“œ ๊ฒ€์‚ฌํ•˜๊ณ  ํ† ํƒˆ ๋ณ€์ˆ˜์— ๋ฐธ๋ฅ˜๊ฐ’ ๋”ํ•ด์ฃผ๋Š”๊ตฌ๋‚˜.

    16. ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€

    <body>
        <form>
            <input type="text" id="item" autofocus="true">
            <button type="button" id="add" class="button">
                ์ถ”๊ฐ€</button><br>
            <div id="itemList"></div>
        </form>
    </body>
    <script type="text/javascript">
            var itemList = [];
    
            window.onload = function () {
                var addBtn = document.querySelector("#add");
                addBtn.addEventListener("click", addList);
            }
    
            function addList() {
                var item = document.querySelector("#item").value;
                if (item != null) {
                    itemList.push(item);
                    document.querySelector("#item").value = "";
                    document.querySelector("#item").focus();
                }
                showList();
                console.log(itemList);
            }
    
            function showList() {
                var list = "<ul>";
                for (var i = 0; i < itemList.length; i++) {
                    console.log(itemList[i]);
                    list += "<li>" + itemList[i] + "</li>";
                }
                list += "</ul>";
                console.log(list);
                document.querySelector("#itemList").innerHTML = list;
            }
        </script>

    ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๋•Œ๋งˆ๋‹ค ๋ฐฐ์—ด์— ์•„์ดํ…œ์ด ์ถ”๊ฐ€๋˜๊ณ  ์‡ผ๋ฆฌ์ŠคํŠธ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.

    ์‡ผ๋ฆฌ์ŠคํŠธ ํ˜ธ์ถœํ•ด์„œ ์ฝ˜์†”์— ์•„์ดํ…œ ๋ฆฌ์ŠคํŠธ ๋ฐฐ์—ด๋Œ๋ฆฐ๊ฑฐ ํ•˜๋‚˜์”ฉ ๋จผ์ € ์ฐ์–ด์ฃผ๊ณ  ํƒœ๊ทธ ์ „์ฒด ์ฐ์–ด์ฃผ๊ณ  ํ•จ์ˆ˜ ๋๋‚˜๋ฉด ๋ฐฐ์—ด ์ „์ฒด ์ฐ์–ด์ฃผ๊ณ  ์ฝ˜์†”๋.

    ์‡ผ๋ฆฌ์ŠคํŠธํ•จ์ˆ˜๊ฐ€ ํŠน์ดํ• ๊ฑฐ๋‹ค. ์ŠคํŠธ๋ง์œผ๋กœ ์˜คํ”ˆ ํด๋กœ์ง• ํƒœ๊ทธ ๋”ฐ๋กœ ์“ฐ๊ณ  ๋ชฉ๋ก๋งŒ๋“ค๊ธฐ๋ฅผ for๋ฃจํ”„๋กœ ๋งŒ๋“ค๊ธฐ.

    17. ๋ฆฌ์ŠคํŠธ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

    <body>
        <form>
            <input type="text" id="item" autofocus="true">
            <button type="button" id="add" class="button">
                ์ถ”๊ฐ€</button><br>
            <div id="itemList"></div>
        </form>
    </body>
    <script type="text/javascript">
        var itemList = [];
    
        window.onload = function () {
            var addBtr = document.querySelector("#add");
            addBtr.addEventListener("click", addList);
        }
    
        function addList() {
            var item = document.querySelector("#item").value;
            if (item != null) {
                itemList.push(item);
                document.querySelector("#item").value = "";
                document.querySelector("#item").focus();
            }
            showList();
            console.log(itemList);
        }
    
        function showList() {//์‚ญ์ œ๋‚˜ ์ถ”๊ฐ€ ๋ฐœ์ƒ์‹œ ๋ฐฐ์—ด์—์„œ ์ž๋ฃŒ ๊บผ๋‚ด์™€์„œ span ํƒœ๊ทธ์— ๋ฐฐ์—ด๋ฐฉ๋ฒˆํ˜ธ ์ง€์ •
            var list = "<ul>";
            for (var i = 0; i < itemList.length; i++) {
                console.log(itemList[i]);
                list += "<li>" + itemList[i] + "&nbsp;<span class='close' id=" + i + ">X</span></li>";
            }
            list += "</ul>";
            console.log(list);
            document.querySelector("#itemList").innerHTML = list;//ํ™”๋ฉด์— x ํ‘œ์‹œ์— ๋ฐฐ์—ด๋ฐฉ๋ฒˆํ˜ธ ์ง€์ •์™„๋ฃŒ ํ›„ ๋„์›Œ์คŒ
            var remove = document.querySelectorAll('.close'); //x์— ์ด๋ฒคํŠธ ์ถ”๊ฐ€
            for (var i = 0; i < remove.length; i++) {
                remove[i].addEventListener('click', removeList);
            }
        }
    
        function removeList() {
            var id = this.getAttribute('id'); //์‚ญ์ œํ•  ์š”์†Œ ๋ฒˆํ˜ธ(id) ์–ป๊ธฐ
            console.log('remove list');
            itemList.splice(id, 1); //์‚ญ์ œ์™„๋ฃŒ
            showList();//๋‹ค์‹œ ๋ชฉ๋ก ๋„์›Œ์„œ span ๋ฐ ์ด๋ฒคํŠธ์ฒ˜๋ฆฌ ๋‹ค์‹œ
        }
    
    </script>

     ๋Š” ๊ณต๋ฐฑ์„ ์˜๋ฏธํ•œ๋‹ค

    ์‡ผ๋ฆฌ์ŠคํŠธ์—์„œ li ์•ˆ์— span ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ํด๋ž˜์Šค๋Š” close๋กœ, id๋Š” ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋กœ, X๋ฅผ ํ‘œ์‹œ

    ์ด๊ฒŒ ์ด์ œ ๋ชฉ๋ก ์ถœ๋ ฅ๋ ๋•Œ๋งˆ๋‹ค ๊ฐ™์ด ๋‚˜์˜ค๋Š” ํ˜•ํƒœ๋‹ค.

    ์ผ๋‹จ ์ถœ๋ ฅ์€ ๊ฐ™์ด ๋˜๋Š”๋ฐ ์ด์ œ ์ด๋ฒคํŠธ๊ฐ€ ์—†์Œ. ๋„ฃ์–ด์ค˜์•ผํ•œ๋‹ค.

    ์•„๋ž˜์„œ ํด๋กœ์ฆˆ ํด๋ž˜์Šค ์…€๋ ‰ํ•˜๊ณ  ๊ทธ ํด๋ž˜์Šค์˜ ๊ฐฏ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต๋ฌธ ๋Œ๋ ค์„œ ์š”์†Œ ํ•˜๋‚˜ํ•˜๋‚˜ ๋งˆ๋‹ค ์‚ญ์ œ ์ด๋ฒคํŠธ ์ถ”๊ฐ€. ๊ทธ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋Š” ๋ฆฌ๋ฌด๋ธŒ๋ฆฌ์ŠคํŠธ.

    this.getAttribute๋Š” ์†์„ฑ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. id์†์„ฑ์„ ๊ฐ€์ ธ์™€์„œ

    array.splice( start, count )

    ๋ฐฐ์—ด์˜ splice() ํ•จ์ˆ˜๋Š” ์›ํ•˜๋Š” ์œ„์น˜์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๊ฒŒํ•œ๋‹ค.

    id๋ถ€ํ„ฐ 1๊ฐœ๋ฅผ ์‚ญ์ œํ•˜๋‹ˆ๊นŒ ๊ทธ๋ƒฅ ์ง€ํ˜ผ์ž ์‚ญ์ œ๋˜๋Š”๊ฒƒ.

    ์‚ญ์ œํ›„ ๋‹ค์‹œ ์‡ผ๋ฆฌ์ŠคํŠธ๋ฅผ ํ˜ธ์ถœํ•ด์„œ ์ด๋ฒคํŠธ์ฒ˜๋ฆฌ ๊ณ„์†.

     

     

     

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

๊ฐœ๋ฐœ๊ณต๋ถ€