Jquery 使用带逗号的动画增加数字:第2部分

Jquery 使用带逗号的动画增加数字:第2部分,jquery,jquery-waypoints,Jquery,Jquery Waypoints,因此,代码有了一些改进 从这以后 我已经将增量包装在一个函数中。它是由用户向下滚动(通过)触发的。但我如何才能让它只动画一次,而不是每次有人滚动它时重复动画呢。想法?您应该能够传递triggerOnce参数 // Animate the element's value from x to y: function stepNum () { $({someValue: 40000}).animate({someValue: 45000}, { duration: 3000, easin

因此,代码有了一些改进

从这以后


我已经将增量包装在一个函数中。它是由用户向下滚动(通过)触发的。但我如何才能让它只动画一次,而不是每次有人滚动它时重复动画呢。想法?

您应该能够传递triggerOnce参数

// 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 }) 

我试过使用promise()、done()、end()。但这些只是扼杀了页面上正在进行的任何其他动画。我被难住了。我不太明白你的意思。所以有人滚动的所有内容都会调用stepNum()?它的代码是你发布的链接中的动画?为了清晰起见,我添加了其余的代码。很高兴我能提供帮助:)谷歌在这一点上可能值得一些赞扬,但我不知道为什么他们会在回答按钮上加设计时器@路易吉·西里。但我会确保做到这一点。干杯
$('.scene06').waypoint(function() {  
{
    stepNum();
},  
{ 
    offset: 400,
    triggerOnce: true 
});