2013-04-26 2 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

+0

나는 당신이 의미하는 것을 이해하지 못한다. 그래서 누군가가 스크롤하면 stepNum()이 호출됩니다. 그리고 코드는 게시 한 링크의 애니메이션입니까? – Alex

+0

명확성을 위해 나머지 코드를 추가했습니다. – kevllar

답변

0

당신은 잘 된 triggerOnce 매개 변수 내가 약속을 사용하려고했습니다

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

예! 그랬어! 너는 내 날 @tymeJV를 만들었다 !!! 감사. – kevllar

+0

이것이 당신의 질문을 해결했다면, 당신은이 대답을 확인해야합니다. –

+0

기꺼이 도와 드릴 수 있습니다 :) 구글은 아마 이것도 약간의 크레딧을받을 가치가 있습니다 – tymeJV