Odometer.js在Meteor中不起作用?

时间:2015-02-09 07:18:45

标签: javascript dom meteor

我尝试使用odometer.js在我的Meteor模板中获取动态数字来制作动画。但似乎我无法通过第一步 - 让odometer javascript code在Meteor中正常运行。当代码执行时,它应该找到具有.odometer类的所有DOM元素,并根据您选择的样式表主题执行一些DOM元素操作,以便为动画编号准备DOM操纵。 Simple example here.

对于那些不熟悉库的人,如果你在jsFiddle运行后检查它,你会看到我对DOM操作的意思。该脚本将一个简单的<div class="odometer"></div>转换为嵌套的层次结构: enter image description here

样式表在Meteor中正确加载 - 如果我在application.css标记内查找,我可以看到<head>内的类。但是脚本没有执行或没有正确执行,因为DOM永远不会更改为数字操作所需的特殊类层次结构。

  • 我已经尝试将脚本放在client/script.js文件中,没有运气。
  • 我尝试将脚本放在client/script.js文件中,将其包装为全局函数名,然后从template.rendered回调中调用该函数。没有运气。
  • 我尝试在我的template.rendered回调中直接嵌入odometer.js代码。没有运气。

没有JS错误警告正在打印到控制台。有没有人能够让里程表在Meteor中工作?谢谢!

1 个答案:

答案 0 :(得分:1)

如果要使用任何库,则需要将脚本放在/client/lib目录中,以便首先加载它。

但是,我为odometer编写了一个名为d4nyll:odometeor的软件包,它具有所有功能,并且允许您使用模板。可以在odometeor.meteor.com找到演示,它会每4秒随机更改一次。

使用:

  1. 运行meteor add d4nyll:odometeor
  2. 在模板中加入{{> odometeor 888}},或使用Odometeor.create()
  3. 使用$('.odometeor').html([--YOUR-NEW-NUMBER]);
  4. 直接更改值

    Full documentation