2011-01-14 6 views
0

현재 예제에서 speedstep은 모두 1입니다. 하지만 스크롤 속도가 훨씬 느려집니다. 속도를 완전히 제어하는 ​​방법.이 jQuery 스크롤 스크립트에서 스크롤 속도를 더 느리게하는 방법은 무엇입니까?

나는 구름을 이동하려는 훨씬 느린

http://jsfiddle.net/cHZG6/1/

코드

(function($) { 
    $.fn.scrollingBackground = function(options) { 
     // settings and defaults. 
     var settings = options || {}; 
     var speed = settings.speed || 1; 
     var step = settings.step || 1; 
     var direction = settings.direction || 'rtl'; 
     var animStep; 

     // build up a string to pass to animate: 
     if (direction === 'rtl') { 
      animStep = "-=" + step + "px"; 
     } 
     else if (direction === 'ltr') { 
      animStep = '+=' + step + "px"; 
     } 

     var element = this; 

     // perform the animation forever: 
     var animate = function() { 
      element.animate({ 
       backgroundPosition: animStep + " 0px" 
      }, speed, animate);    
     }; 
     animate(); 
    }; 
})(jQuery); 

$("#header").scrollingBackground({ 
    speed: 1, 
    step: 1, 
    direction: 'ltr' 
}); 

$("#header-2").scrollingBackground({ 
    speed: 1, 
    step: 1, 
    direction: 'rtl' 
}); 
+1

구름이 훨씬 느리게 움직이기를 원하십니까? – Reigel

+0

@Reigel - 네, 맞아요. 0.5 또는 -1을 사용하면 작동하지 않습니다. –

답변

2

당신은 스크롤 속도를 느리게 할 speed 속성을 늘리면 becau 그것은 단계 사이의 지연을 증가시킨다. 나는 100의 값으로 그것을 시험해 보았다. 그리고 그것은 아직도 매끄럽게 보였다.

2

큰 숫자가 speed 일 때 구름이 느리게 움직입니다.

큰 숫자가 step 일 때 구름이 빠르게 움직입니다.

demo

+0

둘 다 필요합니까? 부드럽지만 느린 스크롤을 원합니다. –

0

당신이 spritely 한 라이브러리를 사용하는 것을 고려할 수 있습니다 또 다른 가능한 방법. 그것은 당신이 속도, fps 및 방향을 구성 할 수 있도록 pan() 방법을 가지고 있으며, 당신이하려고하는 것과 매우 유사합니다. 자신의 만족을 위해 일할 수없는 경우 구현을 선호 할 수 있습니다.

관련 문제