【问题标题】:Trying to pass in an array to justGage试图将数组传递给 justGage
【发布时间】:2017-08-09 16:03:27
【问题描述】:

我正在使用 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/ 不必点击刷新按钮,它会自行刷新。

认为在我仍在努力解决问题的同时在这里提问会更有成效。

【问题讨论】:

    标签: javascript justgage


    【解决方案1】:

    那个插件的文档很糟糕...

    似乎你离你想做的事情不远了——在你的 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);
    

    【讨论】:

    • 也差不多!问题是无论出于何种原因它都停留在 1
    • 我不敢相信我没有抓住那个……漫长的一天。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 2022-01-07
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多