2014-06-16 3 views
3

나는 4 개의 애니메이션 GIF를 만들었고 사용자의 스크롤을 통해 시작하고 싶습니다. 내가 무슨 짓을스크롤에서 시작하는 애니메이션 GIF

이 사용이다 : 나는 아무것도 표시되지 스크롤로 GIF를 차단하려고

$(function() { 
    var screen = $(".screen"); 
    $(window).scroll(function() { 
     var scroll = $(window).scrollTop(); 

     if (scroll >= 1500) { 
      screen.css('display','block'); 
     } else { 
      screen.css('display','none'); 
     } 
    }); 
}); 

를하고 좋은 작동, 문제는 내가 그것을 차단 표시 할 때 GIF는 처음부터 시작 나던이다 , 애니메이션의 중간에서 시작됩니다.

블록을 표시 할 때 어떻게하면 첫 번째 프레임에서 GIF를 시작할 수 있습니까?

대단히 감사합니다.

+0

매번 서버에서 다시 가져 오지 않는 한 gif를 다시 시작할 수 없습니다 (원하지 않는 경우). 한 가지 해결책은 data-uris를 사용하고'src'를 다시 적용하는 것입니다. – Prinzhorn

답변

4

코드가 이미지를 숨기고 표시하지만 이미지를 다시로드하지는 않습니다. 대신 src 속성을 업데이트하거나 간단한 realod에서 동일한 이미지를 업데이트해야합니다.

$(this).attr("src",$(this).attr("src")) 

One simple solution would be 

if (scroll >= 1500) { 
    screen.attr('src',screen.attr('src')); // update its src, this reloads the img 
} else { 
    screen.css('display','none'); 
} 
+0

안녕하세요, 감사합니다. 그랬어, 그냥 내가 "else"에 추가해서 1500px 스크롤 후에 상쾌하게 멈추지 않을까? – user3586610