2026, 새로운 도약을 시작합니다.

썸네일에 들어가는 gif 멈추게하는 스크립트 채택완료

gif 멈추게하는 스크립트가 있나요?

답변 4개

채택된 답변
+20 포인트
Copy




   Stop Animations





    A load of body text, blah blah blah









 var stopAnim = (function () {

                var priv = {};

                var pub = {};

                priv.pauseAll = false;

                if(window.matchMedia){

                    var mediaQuery = window.matchMedia("(prefers-reduced-motion: reduce)");

                    if (!mediaQuery || mediaQuery.matches) { priv.pauseAll = true }

                }

                

                priv.stopAnim = function (img) {

                    var coverImage = function () {

                       setTimeout(function(){

                        var width = img.width;

                        var height = img.height;

                        var canvas = document.createElement('canvas');

                        canvas.width = width;

                        canvas.height = height;

                        canvas.getContext('2d').drawImage(img, 0, 0, width, height);

                        canvas.style.position = 'absolute';

                        canvas.setAttribute('aria-hidden', 'true');

                        canvas.setAttribute('role', 'presentation');

                        var parent = img.parentNode;

                        parent.insertBefore(canvas, img);

                        img.style.opacity = 0.01;

                        }, 250);

                    };

                    if (img.complete) {

                        coverImage();

                    } else {

                        img.addEventListener('load', coverImage, true);

                    }

                }

                pub.freezeAll = function () {

                    //var images = document.querySelectorAll('.crayons-article__header img, .crayons-article__main img, .crayons-avatar img');

                    var images = document.querySelectorAll('img');

                    

                    for (x = 0; x  images.length; x++) {

                        priv.stopAnim(images[x]);

                    }

                };

                if (priv.pauseAll == true) {

                    pub.freezeAll();

                }

                return pub;

            })();

            

            

         

var btn = document.querySelector('button');       

         

btn.addEventListener('click', function(){

    stopAnim.freezeAll();

})



https://dev.to/grahamthedev/stopping-gif-animations-on-dev-to-for-those-who-prefer-reduced-motion-59pg

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

개노미님꺼로 하니까 잘 되네요.

Copy
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

https://codepen.io/zjun/pen/dGPqzQ

여기 보시면 1s 를 0s 로 바꾸면 되요

animation: like-gif steps(28) 1s infinite both;

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

통상은 GIF가 아닌 정적 이미지를 하나 만들어놓구

평상시에는 정적 이미지 파일을 보이게 하고 

hover시에 gif가 보여지겠금 하는 형태 구성을 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고