2012-09-27 2 views
0

jQuery 연구를 시작합니다. 나는 화면을 지나가는 일부 고객의 이미지로 슬라이드 애니메이션을 만드는 데 어려움을 겪고있다. 전달중인 <ul> 위로 마우스를 지나갈 때 함수를 일시 중지하려고 시도하기 전까지는 모든 것이 좋습니다. 이 경우 애니메이션이 중지됩니다. 그러나 다시 시작하려면 짧은 지연이 필요하며 (심지어 .clearQueue();도 포함)이 짧은 지연이 유지됩니다. 지연을 없애려면 어떻게 수정해야합니까?애니메이션을 다시 시작하는 데 지연이없는 연속 슬라이드 애니메이션을 일시 중지하는 방법은 무엇입니까?

기능 :

animar('.clientesHome ul'); 

// pauses/iniciate animation 
    $('.clientesHome ul').hover(

     function() { 
      $('.clientesHome ul').clearQueue(); 
      $('.clientesHome ul').stop(); 
     }, 
     function() { 
      $('.clientesHome ul').clearQueue(); 
      animar('.clientesHome ul'); 
     } 
    ); 

function animar(oque) { 
     if(!stoped){ 
      $(oque).css('left', $(oque).position().left); 
      $(oque).clearQueue(); 

      var regressivo = 2000; 

      $(oque).animate({ 
       left: '-' + $('.clientesHome ul li').width() + 'px' 
      }, regressivo , 
      'linear', 
      function(){ 
       // 
       $('.clientesHome ul li:first').clone().appendTo('.clientesHome ul'); 
       $('.clientesHome ul li:first').remove(); 

        $(oque).css('left','0'); 
        animar(oque); 
      }); 
     } 
    } 

답변

0

당신이 버그는 코드를 제거하는 가장 좋은 방법을 찾기 위해 노력하고, 당신이 할 수 그것은 간단하게. 이 코드는 jsfiddle : http://jsfiddle.net/r86Hk/에 스트라이프되어 있습니다. 이 예제는 정상적으로 작동하며 지연이 없습니다. 버그를 찾으려면 코드의 기능을 하나씩 추가하기 시작하고 지연이 표시되면 버그를 발견했습니다.

원본 HMLT/CSS가 없으면 내가 할 수있는 최선입니다.

관련 문제