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

[ ๋ธ”๋กœ๊ทธ ๋ชฉ๋ก ์ž๋™ ์ƒ์„ฑ ๋ฐฉ๋ฒ• ] ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ ์—์„œ ์ž๋™์œผ๋กœ ๊ธ€ ๋ชฉ๋ก ๋งŒ๋“œ๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•

๋ฐ˜์‘ํ˜•

๋ธ”๋กœ๊ทธ ๋ชฉ๋ก ์ž๋™ ์ƒ์„ฑ ๋ฐฉ๋ฒ•- jQuery TOC์™€ JS์˜ ์žฅ๋‹จ์  ๋น„๊ต

-๋ธ”๋กœ๊ทธ ์ž๋™ ๋ชฉ๋ก ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•
-์ž๋™ ๋ชฉ๋ก ์ƒ์„ฑํ•˜๋Š” TOC JS์™€ JavaScript ๋น„๊ต

๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ž‘์„ฑํ•  ๋•Œ ์ž๋™์œผ๋กœ ๊ธ€ ๋ชฉ๋ก์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋ฉด, ์ฝ˜ํ…์ธ ๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์–ด ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, ๊ธด ๊ธ€์„ ์ž‘์„ฑํ•  ๋•Œ ๋ฐฉ๋ฌธ์ž๋“ค์ด ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์ด์ฃ . ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ๋Š” jQuery TOC ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•œ ์ž๋™ ๊ธ€ ๋ชฉ๋ก ์ƒ์„ฑ ๋ฐฉ๋ฒ•์ด๊ณ , ๋‘ ๋ฒˆ์งธ๋Š” ์ˆ˜๋™์œผ๋กœ JavaScript๋ฅผ ์ž‘์„ฑํ•ด ๊ธ€ ๋ชฉ๋ก์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋‘ ๋ฐฉ๋ฒ•์„ ๋น„๊ตํ•˜๋ฉด์„œ, ๊ฐ ๋ฐฉ๋ฒ•์˜ ์žฅ์ ๊ณผ ์„ค์ • ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ธ”๋กœ๊ทธ์—์„œ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ๋ชฉ์ฐจ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ธ”๋กœ๊ทธ ๋ชฉ๋ก ์ž๋™ ์ƒ์„ฑ ๋ฐฉ๋ฒ•: jQuery TOC์™€ JS ํ™œ์šฉ๋ฐฉ๋ฒ•

์ž๋™ ๋ชฉ๋ก ์ž‘์„ฑ์— ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” TOC ์™€ ์ง์ ‘ ์ž‘์„ฑํ•œ JS์˜ ์‚ฌ์šฉ๋ฐฉ๋ฒ•๊ณผ 2๊ฐ€์ง€์˜ ์ฝ”๋“œ๋ฅผ ๋น„๊ตํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค

jQuery TOC JS ๋กœ ๊ธ€๋ชฉ๋ก ์ž๋™์ƒ์„ฑ๋ฐฉ๋ฒ•

๋จผ์ €, ์‰ฝ๊ฒŒ ๊ธ€ ๋ชฉ๋ก์„ ์ž‘์„ฑํ•ด์ฃผ๋Š” jQuery TOC ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒŸ์Šต๋‹ˆ๋‹ค. ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๋งํฌ์—์„œ Download ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ jquery.toc.min.js ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

jquery.toc.min.js
0.00MB

1. ๋ชฉ๋ก์„ ์ž๋™์œผ๋กœ ํ˜•์„ฑ๋˜๊ฒŒ HTML ์ฝ”๋“œ ์„ค์ •ํ•˜๊ธฐ

๋‹ค์šด๋กœ๋“œํ•œ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด, ํ‹ฐ์Šคํ† ๋ฆฌ์˜ ์Šคํ‚จ์„ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„์— ๋”ฐ๋ผ HTML์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  1. ํ‹ฐ์Šคํ† ๋ฆฌ ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์—ฌ ๊พธ๋ฏธ๊ธฐ ์Šคํ‚จ ํŽธ์ง‘์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. HTML ํŽธ์ง‘ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ ํ›„, ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฉ”๋‰ด์—์„œ ๋ฐฉ๊ธˆ ๋‹ค์šด๋กœ๋“œํ•œ jquery.toc.min.js ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  3. HTML ๋ฉ”๋‰ด์—์„œ </head> ํƒœ๊ทธ ๋ฐ”๋กœ ์•ž์— ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:
<script src="./images/jquery.toc.min.js"></script>
  1. </body> ํƒœ๊ทธ ๋ฐ”๋กœ ์•ž์— ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ชฉ์ฐจ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค:
<script>
$(document).ready(function() {
    var $toc = $("#toc");
    $toc.toc({
        content: ".tt_article_useless_p_margin",
        headings: "h2,h3,h4"
    });
});
</script>

2. ์ž๋™์œผ๋กœ ํ˜•์„ฑ๋˜๋Š”๋ชฉ๋ก ๋””์ž์ธ์„ ์œ„ํ•ด CSS ์ฝ”๋“œ ์ถ”๊ฐ€

๋ชฉ์ฐจ์˜ ์Šคํƒ€์ผ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด CSS๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. CSS ๋ฉ”๋‰ด์—์„œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๊ธ€ ์ œ๋ชฉ์˜ ์Šคํƒ€์ผ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค:

/* ๊ธ€ ์ œ๋ชฉ1,2,3 ์Šคํƒ€์ผ */

.index_toc p {
    color: lightslategray;
}
.index_toc {
    color: lightslategray;
    font-weight: bold;
}
#toc {
    padding-left: 25px;
}
#toc li > ul > li {
    list-style: none;
}
#toc li > ul {
    padding: 5px 0 20px 0;
}
์ผ์ƒํ—ˆ๋ธŒ-SEO.IT.์‹œ์‚ฌ.์ •์น˜๋ธ”๋กœ๊ทธ

3. ๋ชฉ๋ก์ด ์ž๋™์œผ๋กœ ํ‘œ์‹œ๋  ์œ„์น˜์— ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€

๋ชฉ๋ก์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•œ ์„œ์‹์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ‹ฐ์Šคํ† ๋ฆฌ ์„ค์ •์—์„œ ์ฝ˜ํ…์ธ ์„œ์‹ ๊ด€๋ฆฌ๋ฅผ ํด๋ฆญํ•œ ํ›„, ์„œ์‹ ์“ฐ๊ธฐ๋ฅผ ์„ ํƒํ•˜๊ณ  HTML ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ €์žฅํ•ฉ๋‹ˆ๋‹ค:

<div class="index_toc">
    <p data-ke-size="size16">๋ชฉ์ฐจ</p>
    <ol id="toc" style="list-style-type: decimal;" data-ke-list-type="decimal"></ol>
</div>

4. ๋ชฉ๋ก ์„œ์‹์„ ํ™œ์šฉํ•ด์„œ ์ž๋™ ๋ชฉ๋ก ์ƒ์„ฑํ•˜๊ธฐ

๊ธ€์“ฐ๊ธฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์„œ์‹์—์„œ ๋ชฉ๋ก ์„œ์‹์„ ๋ถˆ๋Ÿฌ์˜จ ํ›„, ์ œ๋ชฉ์„ ์ž‘์„ฑํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ชฉ์ฐจ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

JavaScript๋กœ ๋ชฉ๋ก ์ž๋™ ์ƒ์„ฑํ•˜๊ธฐ

JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชฉ๋ก์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

1. ๋ชฉ๋ก์„ ํ‘œ์‹œํ•  ์œ„์น˜์— ์ฝ”๋“œ ์ถ”๊ฐ€ํ•˜๊ธฐ

๋จผ์ €, ๋ชฉ์ฐจ๋ฅผ ํ‘œ์‹œํ•  ์œ„์น˜์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ์—์„œ๋Š” ๋ชฉ์ฐจ๋ฅผ ๋‹ด์„ div์™€ ul ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

<div id="toc">
    <ul></ul>
</div>

2.๋ชฉ๋ก ๋””์ž์ธ์„ ์œ„ํ•œ CSS ์Šคํƒ€์ผ ์ถ”๊ฐ€

๋ชฉ์ฐจ์˜ ๋””์ž์ธ์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์•„๋ž˜ CSS ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ์›ํ•˜๋Š” ์Šคํƒ€์ผ์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋ธ”๋กœ๊ทธ ๋ชฉ๋ก ์ž๋™์ƒ์„ฑ ๋ฐฉ๋ฒ•
๋ธ”๋กœ๊ทธ ๋ชฉ๋ก์„ ์ž๋™์œผ๋กœ ํ˜•์„ฑํ•˜๊ธฐ

#toc {
    background-color: #f9f9f9;
    border: 1px solid #909090;
    padding: 15px;
    margin: 20px 0;
    border-radius: 5px;
    font-family: 'Noto Sans KR', sans-serif !important;!i;!;
}
#toc li {
    border-radius: 4px;
    transition: background-color 0.3s;
    position: relative;
    font-family: 'Noto Sans KR', sans-serif !important;
}

#toc li a {
    text-decoration: none;
    color: #333;
    /* font-weight: bold; */
    transition: color 0.3s;
    border-bottom: none;
    padding-left: 30px;
}

#toc li a.h1-link {
    font-size: 24px;
    padding-left: 40px;
}

#toc li a.h1-link::before {
    content: "•";
    position: absolute;
    left: 30px;
    top: 50%;
    transform: translateY(-50%);
    color: #555;
}

#toc li a.h2-link {
    font-size: 1.3rem;
    /* padding-left: 40px; */
}

#toc li a.h2-link::before {
    /* content: "•"; */
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    color: #555;
}

#toc li a.h3-link {
    font-size: 1.1rem;
    padding-left: 40px;
}

#toc li a.h3-link::before {
    content: "•";
    position: absolute;
    left: 30px;
    top: 50%;
    transform: translateY(-50%);
    color: #555;
}

#toc li a.h4-link {
    font-size: 1rem;
    padding-left: 60px;
}

#toc li a.h4-link::before {
    content: "•";
    position: absolute;
    left: 50px;
    top: 50%;
    transform: translateY(-50%);
    color: #555;
}

3. ๋ชฉ๋ก์„ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด JavaScript ์ฝ”๋“œ ์ถ”๊ฐ€

HTML ๋ฌธ์„œ์˜ <head> ์„น์…˜์— ๋‹ค์Œ JavaScript ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ชฉ์ฐจ๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค:

<script>
document.addEventListener("DOMContentLoaded", function() {
    const toc = document.querySelector('#toc ul');
    const toplist = document.querySelector('.toplist');
    const headings = document.querySelectorAll('.tt_article_useless_p_margin.contents_style h2, .tt_article_useless_p_margin.contents_style h3, .tt_article_useless_p_margin.contents_style h4');

    let hasSubheadings = false;

    headings.forEach((heading, index) => {
        if (!heading.id) {
            heading.id = `heading-${index}`;
        }

        if (heading.tagName === 'H2' || heading.tagName === 'H3' || heading.tagName === 'H4') {
            hasSubheadings = true;
        }

        const listItem = document.createElement('li');
        const link = document.createElement('a');
        link.href = `#${heading.id}`;
        link.textContent = heading.textContent;

        if (heading.tagName === 'H2') {
            link.classList.add('h2-link');
        } else if (heading.tagName === 'H3') {
            link.classList.add('h3-link');
        } else if (heading.tagName === 'H4') {
            link.classList.add('h4-link');
        }

        listItem.appendChild(link);
        toc.appendChild(listItem);
    });

    if (!hasSubheadings) {
        toc.style.display = 'none';
        toplist.style.display = 'none';
    }
});
</script>

4. ์›น ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจ ํ›„ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋ชฉ๋ก์„ ํ™•์ธ

์ด์ œ ์›น ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด, ์„ค์ •ํ•œ ์œ„์น˜์— ๋ชฉ์ฐจ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , ์ œ๋ชฉ์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ด ๋งํฌ๋ฅผ ํด๋ฆญํ•˜์—ฌ ์›ํ•˜๋Š” ์ œ๋ชฉ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ Vanilla JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชฉ์ฐจ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด, ์ถ”๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด๋„ ํšจ์œจ์ ์ด๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ์ฝ˜ํ…์ธ ๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ ์Šคํ‚จ ๊พธ๋ฏธ๊ธฐ ๋ธ”๋กœ๊ทธ ์ˆ˜์ •์— ์œ ์šฉํ•œ ์ฝ”๋“œ์™€ ํŒ ์ž๋ฃŒ ๋ชจ์Œ

ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ ์Šคํ‚จ ๊พธ๋ฏธ๊ธฐ์™€ SEO ์ตœ์ ํ™” ์ž๋ฃŒํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ๋ฅผ ๋” ํ’์„ฑํ•˜๊ฒŒ ๊พธ๋ฏธ๋Š” ์œ ์šฉํ•œ ์ฝ”๋“œ๋“คํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ ๋ธ”๋กœ๊ทธ์˜ ๊ฐœ์„ฑ๊ณผ ๋””์ž์ธ

everydayhub.tistory.com

์ž๋™ ๋ชฉ๋ก ์ƒ์„ฑ TOC ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ณผ JavaScript ๋น„๊ต

์ด์ œ TOC ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ JavaScript๋ฅผ ์‚ฌ์šฉํ•œ ๋ชฉ์ฐจ ์ƒ์„ฑ ๋ฐฉ๋ฒ•์˜ ์žฅ๋‹จ์ ์„ ๋น„๊ตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž๋™ ๊ธ€ ๋ชฉ๋ก ์ƒ์„ฑ์„ ์œ„ํ•ด TOC ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ฌ์šฉ ์‹œ

์žฅ์ 

  • ์ž๋™ํ™”: ์ œ๋ชฉ์ด ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋  ๋•Œ ๋ชฉ์ฐจ๊ฐ€ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.
  • ์œ ์—ฐ์„ฑ: ๋‹ค์–‘ํ•œ ์ œ๋ชฉ ๋ ˆ๋ฒจ์„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์ œ๋ชฉ์˜ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์Šคํƒ€์ผ๋ง: ์™ธ๋ถ€ CSS๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ 

  • ์˜์กด์„ฑ: jQuery์™€ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์˜์กดํ•˜๋ฏ€๋กœ, ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์„ฑ๋Šฅ: ๋งŽ์€ ์ œ๋ชฉ์ด ์žˆ์„ ๊ฒฝ์šฐ, ๋ Œ๋”๋ง ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๋™ ๊ธ€ ๋ชฉ๋ก ์ƒ์„ฑ์„ ์œ„ํ•ด JavaScript ์‚ฌ์šฉ์‹œ

์žฅ์ 

  • ๊ฒฝ๋Ÿ‰ํ™”: ์ถ”๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด ์ˆœ์ˆ˜ JavaScript๋กœ ์ž‘์„ฑ๋˜์–ด ๊ฐ€๋ณ์Šต๋‹ˆ๋‹ค.
  • ์ œ์–ด์„ฑ: ์ฝ”๋“œ์˜ ๋ชจ๋“  ๋ถ€๋ถ„์„ ์ง์ ‘ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ฑ๋Šฅ: ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ์—์„œ๋Š” ์„ฑ๋Šฅ์ด ๋” ๋‚˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ 

  • ์œ ์ง€ ๊ด€๋ฆฌ: ์ œ๋ชฉ์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ์ฝ”๋“œ ์ˆ˜์ •์„ ํ•„์š”๋กœ ํ•˜๋ฉฐ, ๋” ๋งŽ์€ ์ˆ˜์ž‘์—…์ด ์š”๊ตฌ๋ฉ๋‹ˆ๋‹ค.
  • ์ œํ•œ์  ๊ธฐ๋Šฅ: ๋ณต์žกํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์ถ”๊ฐ€์ ์ธ ์ฝ”๋“œ ์ž‘์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ๋ธ”๋กœ๊ทธ: ์ œ๋ชฉ์ด ์ž์ฃผ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋‚˜ ๋‹จ์ˆœํ•œ ๋ธ”๋กœ๊ทธ๋ผ๋ฉด Vanilla JavaScript ๋ฐฉ๋ฒ•์ด ๋” ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ณต์žกํ•œ ์ฝ˜ํ…์ธ : ์ œ๋ชฉ์ด ์ž์ฃผ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ, jQuery TOC ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•