๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’š UIUX ์›นํผ๋ธ”๋ฆฌ์…” ๊ณผ์ •(6๊ฐœ์›”)

2021-09-01 (142์ผ์ฐจ) ์ผ์ •ํ•œ ์‹œ๊ฐ„๊ฐ„๊ฒฉ์œผ๋กœ ๊ธ€์”จ๊ฐ€ ๊ต์ฒด๋˜๋Š” ํšจ๊ณผ

by widely design 2021. 9. 5.

์œ ์šฉํ•œ ์†Œ์Šค์ฝ”๋“œ 21๊ฐ•~22๊ฐ• (switch effect) (๊ธ€์”จ๊ฐ€ ๊ต์ฒด๋˜๋Š” ํšจ๊ณผ) + (ํƒญ๋ฐ•์Šค)

 

 

<ํ•จ์ˆ˜>

- .each

   ๊ฐ™์€ ํด๋ž˜์Šค๋ฅผ ๊ฐ๊ฐ ์‹คํ–‰์‹œ์ผœ์ค€๋‹ค.

 

- node

  ๊ฐ€๋ฅดํ‚ค๋Š” ํด๋ž˜์Šค๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๋•Œ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ€๋ฅด์ผœ์ฃผ๋Š” ๋ณ€์ˆ˜

 

<์ผ์ •ํ•œ ์‹œ๊ฐ„๊ฐ„๊ฒฉ์œผ๋กœ ๊ธ€์”จ๊ฐ€ ๊ต์ฒด๋˜๋Š” ํšจ๊ณผ>

1๋‹จ๊ณ„ ์›๋ฆฌ (๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ) 

- html, css ์—ญํ• 

  li๋Š” ํ‰์†Œ์— absolute (์œ ๋ นํ™”) + opacity : 0

  ใ„ด> ์ „๋ถ€ ๊ฒน์ณ์ง€์ง€๋งŒ

  li์— active๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด li๊ฐ€ relative๋กœ ๋ณ€๊ฒฝ + opacity : 1

- script ์—ญํ• 

  ํ˜„์žฌ ํ™œ์„ฑํ™”๋œ ๋…€์„์„ ํ•จ์ˆ˜๋กœ ์ง€์ •ํ•œ ํ›„, activeํด๋ž˜์Šค ์ œ๊ฑฐํ•˜๊ธฐ

  ํ˜„์žฌ ํ™œ์„ฑํ™”๋œ ๋…€์„์˜ ๋‹ค์Œ ํƒœ๊ทธ๋ฅผ ํ•จ์ˆ˜๋กœ ์ง€์ •ํ•œ ํ›„, activeํด๋ž˜์Šค ์ถ”๊ฐ€ํ•˜๊ธฐ

  setInterval ํ•จ์ˆ˜ ์•ˆ์— ๋„ฃ์–ด ์ผ์ •ํ•œ ์‹œ๊ฐ„๊ฐ„๊ฒฉ์œผ๋กœ ์ž‘๋™ํ•˜๊ฒŒ ํ•˜๊ธฐ

  length๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ˜„์žฌ ํ™œ์„ฑํ™”๋œ ๋…€์„์˜ ๋‹ค์Œ ํƒœ๊ทธ๊ฐ€ ์—†๋‹ค๋ฉด ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ํ•˜๊ธฐ

+html ๋ฆฌ์ŠคํŠธ ๋‘๊ฐœ๋กœ ๋งŒ๋“ค์–ด์„œ ๊ฐ™์ด ์ž‘๋™ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ

See the Pen by jhs (@jangka44) on CodePen.

 

2๋‹จ๊ณ„ ์›๋ฆฌ (๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์™„์„ฑ) 

- html, css ์—ญํ• 

  ํ•˜๋‹จ ๋ฆฌ์ŠคํŠธdiv์— data-item-seconds="1000"๋ฅผ ๋„ฃ์–ด์ฃผ๊ธฐ

- script ์—ญํ• 

  const itemSeconds = $el.attr('data-item-seconds') ? parseInt($el.attr('data-item-seconds')) : 2000; ์ถ”๊ฐ€ํ•ด์ฃผ๊ธฐ

  data-item-seconds ์†์„ฑ๊ฐ’์ด ์žˆ์œผ๋ฉด, ์ด ํ•จ์ˆ˜๋Š” ๊ทธ ์†์„ฑ๊ฐ’์„ ๋ฌธ์ž๊ฐ€ ์•„๋‹Œ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค.

  data-item-seconds ์†์„ฑ๊ฐ’์ด ์—†๋‹ค๋ฉด, ๊ทธ๋ƒฅ ์ˆซ์ž 2000์ด ๊ธฐ๋ณธ๊ฐ’์ด๊ฒŒ ๋œ๋‹ค.

See the Pen by jhs (@jangka44) on CodePen.

3๋‹จ๊ณ„ ์›๋ฆฌ (๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ) 

์ด์ œ ๋‹ค ๋งŒ๋“ค์–ด์ง„ ์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ๊ฐ€์ ธ์˜จ ํ›„, ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค!

- html, css ์—ญํ• 

  ์‹œ๊ฐ„์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์†์„ฑ์— data-items-second ์†์„ฑ์— ์›ํ•˜๋Š” ๊ฐ’์„ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.

  css๋Š” ์›ํ•˜๋Š” ๋Œ€๋กœ ๊พธ๋ฏธ๋ฉด ๋œ๋‹ค. (active๋ฅผ ๋„ฃ๋Š” ๋“ฑ๋“ฑ...)

- script ์—ญํ• 

  ๊ฑด๋“ค ํ•„์š” ์—†์Šˆ

See the Pen by minicoding (@minicoding) on CodePen.

๋Œ“๊ธ€