2014-02-17 92 views
0

我有一個腳本,如下所示:jQuery的動畫不工作(數倒計時/計數)

function powerClick(level, cost, user) { 
    clicks = Number(clicks) - cost; 
    addBPS(); 
} 
function addBPS() {  
    var from = {property: $('#current').text()}; 
    var to = {property: Number(clicks)}; 
    jQuery(from).animate(to, { 
     duration: 1000, 
     step: function() { 
      $('#current').text((Math.floor(this.property))); 
     } 
    }); 
} 

第一個函數運行按鈕被點擊時,調整的clicks值。然後它運行功能addBPS(正下方)。

然而,函數addBPS並沒有完全倒數到存儲在變量clicks中的數字。很多時候,函數powerClick將變量clicks設置爲0.但是,當函數addBPS運行時,計數器不會一直下​​降到零。

這是爲什麼?

+0

已插入控制檯登錄到的代碼,但仔細檢查所有的變量,你希望他們是什麼呢? – A2345sooted

+0

@ A2345sooted我已經使用了警報框,我確定這些變量是我想要的。 – user3320550

回答

0

可能出現的問題我在這裏看到:

  1. 這可能是因爲點擊不globaly定義?所以每次結束運行第一個函數時,該值都會被銷燬。
  2. 嘗試使用to.property或from.property替換this.property?
  3. 我建議使用較少的通用變量名稱,如「to」或「from」。你可能會發現自己有一天沒有想到就會使用保留關鍵字(發生在我身上)

    var clicks; 
    
    function powerClick(level, cost, user) { 
        clicks = Number(clicks) - cost; 
        addBPS(); 
    } 
    function addBPS() {  
        var data_before = {property: $('#current').text()}; 
        var data_after = {property: Number(clicks)}; 
        jQuery(from).animate(to, { 
         duration: 1000, 
         step: function() { 
          $('#current').text((Math.floor(data_after.property))); 
         } 
        }); 
    }