문제

$(this).css("left","100px");

function endless(){
    $(this).animate({
        left:'-=100px',
    },{
        easing: "linear",
    duration: 5000,
    complete: function() {
        $(this).css('left','100px');
    endless();
        }
    });
};
endless();

이것은 내가 시도한 것이지만,이 접근법을 사용하여 물건을 움직일 수는 없습니다. jQuery 1.3.2를 사용하고 있습니다. 제안이 있습니까?

도움이 되었습니까?

해결책

당신은 잘못된 매개 변수를 가지고 있습니다. 옵션 해시, 완화, 지속 시간 및 콜백을위한 실제 옵션 만 필요하지 않습니다. 또한 사용할 때주의를 기울여야합니다 this. 끝없는 기능에 대한 논쟁으로 그것을 전달하는 것이 좋습니다.

$(this).css("left","100px");

function endless(elem){
    $(elem).animate(
        { left:'-=100px' },
        "linear",
        5000,
        function() {
            $(elem).css('left','100px');
            endless(elem);
        }
     );
};
endless(this);

다른 팁

콜백 내에서 endless ()를 호출해야합니다.

function endless(item) {
  $(item).animate({"left": "-=100px"}, 5000, "linear", function(){
    $(item).css("left","100px");
    endless(item);
  });
}

endless($(".myBox"));

교체해야합니다 $(this) 당신이 애니메이션하고 싶은 선택기의 요소를 사용합니다.

엄청난! 이것이 바로 내가 찾은 것이지만 지금은

나는 마침내 그것을 전환하는 방법을 알아 냈습니다. 다음 함수를 사용하면 endless (0)를 호출하여 멈추고 끝없는 (1)를 애니메이션 루프를 활성화하십시오.

//loop animation forever
//args: takes 1 to loop, 0 to stop
function endless(loop)
{ 
  //animate forever
  if (loop==1)
  {
 $('#alink').animate(
  {'opacity':'toggle'}, 
  1000, 
   function () { endless(1) }
  ); 
  }
  //stop animation
  else
  {
 $('#alink').css('opacity',1).stop();
  }

}; 


//sample call
$('#alink').toggle(function(){ endless(1) },function(){ endless(0) });

초기 코드의 고맙습니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top