๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ฝ”๋”ฉ๊ณต๋ถ€ (2)

UI Code Lab

ํƒญ ์ „ํ™˜ ์Šคํฌ๋ฆฝํŠธ ๋ชจ๋“ˆํ™” ์‹ค์ „ ์˜ˆ์ œ

์›น ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋ฉด ํƒญ ์ „ํ™˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ผ์ด ์ž์ฃผ ์ƒ๊น๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๋‹จ์ˆœํžˆ fetch๋กœ HTML์„ ๋ถˆ๋Ÿฌ์™€์„œ innerHTML์— ๋„ฃ๊ณ , ํƒญ ํด๋ฆญ ์‹œ ๋ณด์—ฌ์ฃผ๊ธฐ/์ˆจ๊ธฐ๊ธฐ๋งŒ ํ•˜๋ฉด ์ถฉ๋ถ„ํ•ด ๋ณด์ด์ฃ . ํ•˜์ง€๋งŒ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์ฝ”๋“œ๊ฐ€ ์ค‘๋ณต๋˜๊ณ , ์ „์—ญ ๋ณ€์ˆ˜ ์ถฉ๋Œ์ด๋‚˜ ํŽ˜์ด์ง€๋ณ„ ๊ด€๋ฆฌ์˜ ๋ถˆํŽธํ•จ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ํ•˜๋‚˜๋‘˜์”ฉ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ํ•„์š”ํ•œ ๊ฑด ๊ณตํ†ต ๋กœ์ง์„ ๋ชจ๋“ˆํ™”ํ•˜๊ณ , ๊ฐ ํŽ˜์ด์ง€์—์„œ๋Š” ์ตœ์†Œํ•œ์˜ ์„ค์ •๋งŒ ๋‚จ๊ธฐ๋Š” ๊ตฌ์กฐํ™”์ž…๋‹ˆ๋‹ค. 1. ๋ฌธ์ œ ์ƒํ™ฉํƒญ ์ „ํ™˜ ๋กœ์ง์„ ํŽ˜์ด์ง€๋งˆ๋‹ค ์ค‘๋ณต ์ž‘์„ฑ → ์œ ์ง€๋ณด์ˆ˜ ์–ด๋ ค์›€์ „์—ญ ๋ณ€์ˆ˜(cache, loaded)๊ฐ€ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ์™€ ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑํŽ˜์ด์ง€๋งˆ๋‹ค ๋‹ค๋ฅธ ํŒŒ์ผ๋งต์„ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๊ณตํ†ต ๋กœ์ง๊ณผ ์„ž์—ฌ ์žˆ์–ด์„œ ๋ถˆํŽธ 2. ํ•ด๊ฒฐ ์ „๋žต๊ณตํ†ต ๋กœ์ง์€ ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌํŽ˜์ด์ง€๋ณ„๋กœ๋Š” fileMap๋งŒ..

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋‚ ์งœ ์„ ํƒ๊ธฐ(Date Picker) ์ง์ ‘ ๋งŒ๋“ค๊ธฐ – ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•

๐Ÿงญ ์™œ ์ง์ ‘ ๋‚ ์งœ ์„ ํƒ๊ธฐ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ• ๊นŒ? ๋Œ€๋ถ€๋ถ„์˜ ์›น ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋‚ ์งœ ์ž…๋ ฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  input [type="date"] ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋””์ž์ธ์ด ๋‹ค๋ฅด๊ณ  ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ์–ด๋ ต๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์ฃ . ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ˆœ์ˆ˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋‚ ์งœ ์„ ํƒ๊ธฐ UI๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ› ๏ธ ๊ตฌํ˜„ ๋ชฉํ‘œ๋‹ฌ๋ ฅ UI๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ˜„์žฌ ์›” ๊ธฐ์ค€์œผ๋กœ ๋‚ ์งœ ํ‘œ์‹œ์ด์ „/๋‹ค์Œ ๋‹ฌ ์ด๋™ ๊ธฐ๋Šฅ๋‚ ์งœ ํด๋ฆญ ์‹œ ์„ ํƒ๋œ ๋‚ ์งœ ์ถœ๋ ฅ ๐Ÿงฑ HTML ๊ตฌ์กฐ โ—€ โ–ถ ์ผ์›”ํ™”์ˆ˜๋ชฉ๊ธˆํ†  ์„ ํƒํ•œ ๋‚ ์งœ: ์—†์Œ ๐ŸŽจ CSS ์Šคํƒ€์ผ (๊ฐ„๋‹จ ๋ฒ„์ „) .datepicker { width: 300px; border: 1..