2013-04-26 44 views
1
// Animate the element's value from x to y: 
    function stepNum() { 
$({someValue: 40000}).animate({someValue: 45000}, { 
    duration: 3000, 
    easing:'swing', // can be anything 
    step: function() { // called on every step 
     // Update the element's text with rounded-up value: 
     $('#el').text(commaSeparateNumber(Math.round(this.someValue))); 
    } 
}); 

function commaSeparateNumber(val){ 
    while (/(\d+)(\d{3})/.test(val.toString())){ 
    val = val.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"); 
} 
return val; 
} 
} 

$('.scene06').waypoint(function() { 
stepNum(); 
}, { offset: 400 }) 

因此,代碼已經有所發展。以逗號分隔使用動畫的增量數:第2部分

由於這question

我裹在函數內部增量。它由用戶向下滾動(通過waypoint.js)觸發。但是我怎麼能讓這個動畫只有一次,而且每次有人滾動時都不會重複。想法?

+0

我一直在使用的承諾試過(),()完成,結束()。但是這些只會殺死頁面上正在進行的其他動畫。我很難過。 – kevllar 2013-04-26 15:26:15

+0

我不太明白你的意思。因此,所有人都滾動,stepNum()被調用?它的代碼是你發佈的鏈接中的動畫? – Alex 2013-04-26 15:27:10

+0

我已經添加了清晰的代碼的其餘部分。 – kevllar 2013-04-26 15:29:11

回答

0

您應該能夠傳遞一個triggerOnce參數

$('.scene06').waypoint(function() { 
{ 
    stepNum(); 
}, 
{ 
    offset: 400, 
    triggerOnce: true 
}); 
+0

是的!那樣做了!你讓我的一天@tymeJV!謝謝。 – kevllar 2013-04-26 15:31:23

+0

如果這解決了你的問題,你應該檢查這個答案。 – 2013-04-26 15:33:04

+0

很高興我能幫助:)谷歌可能值得在這一個太 – tymeJV 2013-04-26 15:33:28