尝试将数组传递给 justGage

Trying to pass in an array to justGage

我正在使用 JustGage Javascript 插件来创建动态仪表。我想将一个数组传递给这个仪表并让它显示这些值。到目前为止,我只能使用 getRandomInt() 让它显示随机整数。

这是代码的相关 js 部分:

<script src="justgage-1.2.2/justgage.js"></script>
<script src="justgage-1.2.2/raphael-2.1.4.min.js"></script>
<script>

document.addEventListener("DOMContentLoaded", function(event) {

        var g1 = new JustGage({
            id: 'g1',
            value: getRandomInt(0, 100),
            min: 0,
            max: 100,
            pointer: true,
            gaugeWidthScale: 0.6,
            customSectors: [{
                color: '#ff0000',
                lo: 50,
                hi: 100
            }, {
                color: '#00ff00',
                lo: 0,
                hi: 50
            }],
            counter: true
        });

        setInterval(function() {
            g1.refresh(getRandomInt(0, 100));
        }, 2000)
    });
    </script>

我想知道为什么像

var num= [1,2,3,4,5,6,7,8,9];

var i = 0; 

setInterval(function() {

          document.innerHTML = num[i++]; 
          if (i == num.length) i = 0; 
                 }, 1000);

不能代替 getRandomInt() 函数使用。

由于在 jfiddle 或 codepen 上看不到,这里是显示一些演示图表的插件站点:http://justgage.com/无需点击刷新按钮,它会自行刷新。

虽然我还在努力解决问题,但我认为在这里提问会更有成效。

伙计,那个插件的文档很糟糕...

看起来你离你想做的不远了 - 在你的 setInterval 中你会想要做这样的事情,关键部分是 g1.refresh(val) 和新值你的仪表。

var i = 0,
    num = [1,2,3,4,5,6,7,8,9];

setInterval(function() {
    if (i >= num.length) i = 0;
    g1.refresh(num[i++]);
}, 2000);