【问题标题】:jquery.animateNumber showing millionsjquery.animateNumber 显示数百万
【发布时间】:2015-05-27 18:20:54
【问题描述】:

我正在使用 animateNumber 插件从零开始为值设置动画。但是,我很难用点或逗号格式化一百万。也就是说,我的图形需要一个分隔符/空格键,但如果我添加 2.158.201 或 2 158 201,控制台会显示消息“意外数字”错误。获取它的最佳方法是什么?

这是我的代码:

function counterFace(){
  var decimal_places = 0;
  var decimal_factor = decimal_places === 0 ? 1 : decimal_places * 10;  
  $('#target-face').animateNumber(
    {
      number: 2158201 * decimal_factor, /* Here I receive an error if I add 2.158.201 or 2 158 201 */

      numberStep: function(now, tween) {
        var floored_number = Math.floor(now) / decimal_factor,
            target = $(tween.elem);
        if (decimal_places > 0) {
          floored_number = floored_number.toFixed(decimal_places);
        }

        target.text(floored_number);
      }
    },
    2000
  )
}

提前致谢。

【问题讨论】:

  • 问题不清楚。请澄清“也就是说,我的图形需要一个分隔符/空格键”,并尝试告诉您确切需要什么。
  • @PierreOcinom 在“数字”行我只能添加 2158201。如果添加 2.158.201 或 2 158 201,我会收到“意外数字”错误。

标签: javascript jquery html


【解决方案1】:

我仍然不明白您要做什么,但这是您可以为您的号码定义分隔符的方法:

//you can define the separator here
var spaceSeparator = $.animateNumber.numberStepFactories.separator(' ')

$('#target-face').animateNumber(
  {
    number: 2158201,
    numberStep: spaceSeparator
  }
);

只需将要使用的分隔符放在('') 之间即可。

我强烈建议您将要输入到animateNumer() 的内容的处理与方法本身分开。所以:

  1. 执行您需要输入的所有内容(function(now, tween)2158201 * decimal_factor)并将其分配给变量。
  2. animateNumbers() 中使用此变量

【讨论】:

  • 非常感谢。我不知道在哪里添加该代码,但根据您的建议,没关系。
猜你喜欢
  • 2017-03-15
  • 1970-01-01
  • 2012-10-12
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多