2016-02-08 22 views
0

我相信這很簡單,但是對於我剛接觸JS和React,我似乎無法找到答案。將函數賦值給變量或者調用setState w/o?

基本上,我有一個使用JQ動畫方法充當各種計數器的函數。功能如下:

$({countNum: 99}).animate({countNum: 1000}, { 
    duration: 2000, 
    easing:'linear', 
    step: function() { 
     var counter = Math.floor(this.countNum) 
     console.log(counter) 
    }, 
    complete: function() { 
     return 'counter done'; 
    } 
}); 

我試圖在step左右的時間內SETSTATE,由於它計數到一個特定號碼,我可以模擬在我的應用程序的計數器。爲了設置我需要綁定this到動畫函數中的對象的狀態,然後我不知道如何訪問countNum,以便它增加。

任何想法?或者我接近完全錯誤。

+1

'$({countNum:99})'是完全錯誤的。請再次閱讀jQuery API。 –

+1

[這個問題](http://stackoverflow.com/questions/20279484/how-to-access-the-correct-this-context-inside-a-callback)應該給你一些很好的見解。甚至可能是重複的,如果你整理你的一點,使其更清晰一點。 –

+0

要訪問'step'回調中的'countNum',您可以使用[其中一種技術](http://stackoverflow.com/a/9324325/607874) –

回答

1

您可以將「本」,以特定的變量進入您的回調之前

var _mythis = this; 

,然後使用「_mythis」調用成員函數/變量

_mythis.myJQfct(); 

但我不是確定這是你需要做的事情。

+0

我知道這一點,我甚至都沒有想過嘗試。感謝您的提醒 :)。得到它的工作。 –