2011-10-30 79 views
0

position開始於0,c.width等於700。當我點擊#button兩次後,動畫應該停止工作。但它沒有。我想這是因爲在每次點擊#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

這第二個'變種位置= c.position();'是多餘的。 – AlienWebguy

回答

0

根據你的數學,status不僅將永遠大於500,但它會也增加。

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

你可以改變你的數學就像這樣:

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

這裏有一個演示:http://jsfiddle.net/qbLd2/

+0

問題解決了。非常感謝! – Newcomer