2011-10-30 4 views
0

0에서 시작하여 c.width700과 같습니다. #button을 두 번 클릭하면 애니메이션이 작동하지 않아야합니다. 그러나 그것은 didnt한다. 내 변수의 값이 #button을 클릭 할 때마다 동일하게 유지되기 때문입니다.Jquery에서 변수를 반복하는 방법은 무엇입니까?

#button을 클릭 할 때마다 값을 업데이트하도록 변수를 루프하는 방법은 무엇입니까? (position의 값은 내가 #button 클릭 할 때마다 변경해야합니다,하지만 어떻게 나도 몰라 ...)

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#button').click(function(){ 
     var c=$('#content'); 
     var position=c.position(); 
     var w=c.width(); 
     var status=w - position.left; 
     if(status>500){ 
      c.stop().animate({left:position.left - 100},300)}; 
      var position=c.position(); 
     }); 
    }) 
</script> 
+0

그건,'중복됩니다. – AlienWebguy

답변

0

을 수학에 따르면, status는 항상 500보다 클 수 없지만, 그것은 것입니다 증가한다.

Click -> 500 
Click -> 700 
Click -> 900 
Click -> 1100 

당신과 같이 수학을 변경할 수 있습니다

if (status < 900) { 
    c.stop().animate({ 
     left: position.left - 100 
    }, 300) 
}; 

여기 데모입니다 : 2`var에 위치 = c.position()가 http://jsfiddle.net/qbLd2/

+0

문제가 해결되었습니다. 정말 고마워! – Newcomer

관련 문제