๐ŸŸจ JavaScript

    [์ฝ”๋”ฉ์• ํ”Œ,mdn] js๋กœ html ์ƒ์„ฑํ•˜๋Š” ๋ฒ• (appendChild, createElement, insertAdjacentHTML ๋“ฑ)

    1. document.createElement() / appendChild() / clondeNode() / importNode() document.createElement() : html ์ž๋ฃŒ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. element.appendChild() : ํ•œ ๋…ธ๋“œ๋ฅผ ํŠน์ • ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ์ž์‹ ๋…ธ๋“œ ๋ฆฌ์ŠคํŠธ ์ค‘ ๋งˆ์ง€๋ง‰ ์ž์‹์œผ๋กœ ๋ถ™์ธ๋‹ค. (ํ•œ ๋…ธ๋“œ๋Š” ๋ฌธ์„œ์ƒ์˜ ๋‘ ์ง€์ ์— ๋™์‹œ์— ์กด์žฌํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, ๋…ธ๋“œ๊ฐ€ ์ด๋ฏธ ๋ถ€๋ชจ๊ฐ€ ์žˆ๋‹ค๋ฉด ์‚ญ์ œ๋˜๊ณ  ์ƒˆ๋กœ์šด ์œ„์น˜๋กœ ์ด๋™ํ•œ๋‹ค.) * append()์™€์˜ ์ฐจ์ด์  : append๋Š” jquery์—์„œ ์ง€์›ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋กœ, ์›์‹œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์ธ appendChild()์™€ ๋‹ค๋ฅด๋‹ค. ๋˜ํ•œ append๋Š” .append(`๋‚ด์šฉ`) ์ฒ˜๋Ÿผ ์š”์†Œ๋ฅผ ๋ฐ”๋กœ ๋•Œ๋ ค๋ฐ•์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด, appendChild()๋Š” creat..

    [์ฝ”๋”ฉ์• ํ”Œ] ์ž๋ฃŒํ˜• : Array, Object (ํŠน์ง•๊ณผ ์ฐจ์ด์ )

    https://sunshineyellow.tistory.com/38 ์ด๊ฑฐ์— ์ด์–ด์„œ.. Array ์ž๋ฃŒํ˜• let car = ['์†Œ๋‚˜ํƒ€', 50000, 'white']; ์ˆœ์„œ๊ฐœ๋…์ด ์žˆ๋‹ค. -> ์ˆซ์ž์˜์–ด๊ฐ€๋‚˜๋‹ค์ˆœ ์ •๋ ฌ(sort)/x๋ฒˆ์ž๋ฃŒ๋ถ€ํ„ฐ x๋ฒˆ์ž๋ฃŒ๊นŒ์ง€ ์ž๋ฅด๊ธฐ(slice)/x๋ฒˆ์ž๋ฃŒ ๋ฐ”๊พธ๊ธฐ/๋งจ ๋’ค, ๋งจ ์•ž์— ์ž๋ฃŒ ๋„ฃ๊ธฐ/์›ํ•˜๋Š” ์ž๋ฃŒ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. Object ์ž๋ฃŒํ˜• let car2 = { name : '์†Œ๋‚˜ํƒ€', price : 50000 }; ์ œ๋ชฉ(key)๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค. ์ˆœ์„œ๊ฐœ๋…์ด ์—†๋‹ค. (์•ž์— ์ผ๋‹ค๊ณ  ๋งจ์ฒ˜์Œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋˜๋Š” ๊ฒŒ ์•„๋‹˜) -> key๋งŒ ๊ธฐ์–ตํ•˜๋ฉด ์ž๋ฃŒ ๋ฝ‘์„ ๋•Œ array๋ณด๋‹ค ์‰ฝ๋‹ค. object์—์„œ ์ž๋ฃŒ ๋ฝ‘๋Š” ๋ฒ• ๋‘๊ฐ€์ง€ console.log(car2['name']); //์†Œ๋‚˜ํƒ€ ..

    [์ฝ”๋”ฉ์• ํ”Œ,mdn ๋“ฑ] ์ด๋ฒคํŠธ๋ฒ„๋ธ”๋ง๊ณผ ์ด๋ฒคํŠธ์บก์ณ๋ง ๋ฐ ๊ด€๋ จ ์œ ์šฉํ•œ ํ•จ์ˆ˜๋“ค

    ์ด๋ฒคํŠธ๊ฐ€ DOMํŠธ๋ฆฌ๋ฅผ ํƒ€๊ณ  ๋ฐœ์ƒํ•˜๋Š” ํ๋ฆ„ ์ด๋ฒคํŠธ๋Š” document์—์„œ ์‹œ์ž‘ํ•ด DOM ํŠธ๋ฆฌ๋ฅผ ๋”ฐ๋ผ event.target๊นŒ์ง€ ๋‚ด๋ ค๊ฐ„๋‹ค. ์ด๋ฒคํŠธ๋Š” ํŠธ๋ฆฌ๋ฅผ ๋”ฐ๋ผ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ addEventListener(..., true)๋กœ ํ• ๋‹นํ•œ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋™์ž‘์‹œํ‚ต๋‹ˆ๋‹ค. addEventListener(..., true)์˜ true๋Š” {capture: true}์˜ ์ถ•์•ฝํ˜•์ด๋‹ค. ์ดํ›„ ํƒ€๊นƒ ์š”์†Œ์— ์„ค์ •๋œ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค. ์ดํ›„์—” ์ด๋ฒคํŠธ๊ฐ€ event.target๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๋‹ค์‹œ ์ตœ์ƒ์œ„ ๋…ธ๋“œ๊นŒ์ง€ ์ „๋‹ฌ๋˜๋ฉด์„œ ๊ฐ ์š”์†Œ์— on๋กœ ํ• ๋‹นํ•œ ํ•ธ๋“ค๋Ÿฌ์™€ addEventListener๋กœ ํ• ๋‹นํ•œ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋™์ž‘์‹œํ‚จ๋‹ค. addEventListener๋กœ ํ• ๋‹นํ•œ ํ•ธ๋“ค๋Ÿฌ ์ค‘, ์„ธ ๋ฒˆ์งธ ์ธ์ˆ˜๊ฐ€ ์—†๊ฑฐ๋‚˜ false, {capture: false}์ธ ํ•ธ๋“ค๋Ÿฌ๋งŒ ํ˜ธ์ถœ๋œ..

    [์ค‘์š”] Level 2 : 14,15(์ˆ™์ œ ๋ฐ ๊นจ๋‹ฌ์€ ์ )_for, ๋ฒ„๋ธ”๋งํ™œ์šฉ์ถ•์•ฝ๋ฒ„์ „

    14. ํƒญ ๋งŒ๋“ค๊ธฐ let kcnt = 0; for (let i = 0; i < $('.tab-button').length; i++) { alert(kcnt++); $('.tab-button').eq(i).on('click', function () { $('.tab-button').removeClass('orange'); $('.tab-button').eq(i).addClass('orange'); $('.tab-content').removeClass('show'); $('.tab-content').eq(i).addClass('show'); }) } ๊นจ๋‹ฌ์€ ์  for๋ฌธ์˜ ์ž‘๋™ ์›๋ฆฌ์— ๋Œ€ํ•ด์„œ ์ดํ•ด๊ฐ€ ์ž˜ ๊ฐ€์ง€ ์•Š์•˜๋‹ค. i๊ฐ€ 0์ด๊ณ , 3๊นŒ์ง€ i++๋กœ ๋Œ์•„๊ฐ€๋Š” ๊ฑฐ๋ฉด i์—๋Š” ์ˆœ์„œ๋Œ€๋กœ 0,1,2 ๋ฐฐ์ •๋˜๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€? ..

    Level 2 : 6~13(์ˆ™์ œ ๋ฐ ๊นจ๋‹ฌ์€ ์ )_scroll

    6. Carousel slider ๋งŒ๋“ค๊ธฐ ์กฐ๊ฑด ๋ฒˆํ˜ธ๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ์ด๋ฏธ์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. $('.slide-1').on('click', function(){ $('.slide-container').css('transform', 'translateX(0)'); }) $('.slide-2').on('click', function(){ $('.slide-container').css('transform', 'translateX(-100vw)'); }) $('.slide-3').on('click', function(){ $('.slide-container').css('transform', 'translateX(-200vw)'); }) 7. Carousel slider ๋งŒ๋“ค๊ธฐ 2 ์กฐ๊ฑด ์ด์ „/๋‹ค์Œ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ. ์ฒซ..

    [์ฝ”๋”ฉ์• ํ”Œ] ์š”์†Œ์˜ ๋†’์ด์™€ ์œ„์น˜๊ฐ’ ๊ตฌํ•˜๊ธฐ (clientHeight, offsetHeight, scrollHeight, getBoundingClientRect())

    clientHeight console.log(element.clientHeight); clientHeight๋Š” ํŒจ๋”ฉ์„ ํฌํ•จํ•œ ์š”์†Œ์˜ ๋†’์ด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. offsetHeight console.log(element.offsetHeight); clientHeight๋Š” ํŒจ๋”ฉ, ํ…Œ๋‘๋ฆฌ, ๊ฐ€๋กœ์Šคํฌ๋กค๋ฐ”(์žˆ๋Š” ๊ฒฝ์šฐ)์„ ํฌํ•จํ•œ ์š”์†Œ์˜ ๋†’์ด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. scrollHeight console.log(element.scrollHeight); scrollHeight๋Š” ํŒจ๋”ฉ, overflow๋กœ ์ธํ•ด ํ™”๋ฉด์— ํ‘œ์‹œ๋˜์ง€ ์•Š์€ ์ปจํ…์ธ ์„ ํฌํ•จํ•œ ์š”์†Œ์˜ ๋†’์ด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. getBoundingClientRect() console.log(element.getBoundingClientRect()); // ์ถœ๋ ฅ๊ฒฐ๊ณผ { top: 134 y: 134 ..