javascript๐Ÿช“/์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ณต๋ถ€

Animate.css ํ™œ์šฉ fadeInํšจ๊ณผ ๊ฑธ๊ธฐ

hyojinny 2023. 10. 23. 15:25

 

๊ธฐ์กด ์ œ์ด์ฟผ๋ฆฌ๋กœ fade - in, out ์„ ๊ฑธ์—ˆ๋˜ ๋ฐฉ๋ฒ•๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ , animate ์‚ฌ์ดํŠธ์— ๋‚˜์˜จ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•ด ํšจ๊ณผ์ฃผ๊ธฐ 

text ๋ฅผ ํŽ˜์ด๋“œ์ธ ์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ํ•œ๋‹ค 

 

 

https://animate.style/

 


์ ์šฉ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€ install ๋กœ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ CDN ๋กœ ๋งํฌ์‚ฝ์ž… 


์ž‘์„ฑ์ค‘์ธ html.index ํŒŒ์ผ์— link ํƒœ๊ทธ๋กœ CDN ๋ฐฉ์‹ ์ถ”๊ฐ€ 

 



์‚ฌ์ดํŠธ ์•ˆ๋‚ด๋ฅผ ๋ณด๊ณ  ์ž๋ฐ”์Šคํฌ๋ฆฝ์—๋„ ์ ์šฉ 

  //ํ…์ŠคํŠธ๋ฐ•์Šค ์—๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ
  
  const currentSlice = slides[currentIndex];
  
  const textBox = currentSlice.querySelector('.text-box');
  textBox.classList.add('animate__animated', 'animate__fadeIn');
  
  //์Šฌ๋ผ์ด๋“œ๊ฐ€ ๋‹ค ๋Œ์•„๊ฐ€๋ฉด animate__fadeIn์ด ํ’€๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— remove์„ค์ •์œผ๋กœ ๋‹ค์‹œํšจ๊ณผ์ ์šฉ
  textBox.addEventListener('animationend', function () {
    textBox.classList.remove('animate__animated', 'animate__fadeIn');
  });

๊ธฐ์กด์— ์ž‘์„ฑํ•œ ์Šฌ๋ผ์ด๋“œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•์•ˆ์— ์—๋‹ˆ๋ฉ”์ด์…˜์„ ์ ์šฉํ•ด์ค€๋‹ค. 

๋‹จ ์Šฌ๋ผ์ด๋“œ๊ฐ€ ํ•œ๋ฒˆ๋Œ์•„๊ฐ€๋ฉด ๋‹จ์ˆœํžˆ ์—๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉํ•œ๊ฒƒ์ด ํ’€๋ฆฌ๋ฏ€๋กœ 

remove ๋ฅผ ๊ฑธ์–ด์ฃผ์–ด ์—ฐ์†๋œ ์—๋‹ˆ๋ฉ”์ด์…˜์ด ์ ์šฉ๋˜๊ฒŒ ํ•œ๋‹ค 

 

 

 


์‘์šฉ ํŽ˜์ด๋“œ์ธ ์‹œ๊ฐ„์„ค์ • 

//ํŽ˜์ด๋“œ์ธ ์‹œ๊ฐ„ ์„ค์ •
textBox.style.setProperty('--animate-duration', '3s');