1

我正在尝试为道场仪表中值变化的持续时间设置动画,但我认为我错过了一些东西,我无法弄清楚它是什么。

到目前为止,我已经让这段代码工作了,但是指示器只是从一个点移动到另一个点,没有任何动画。

require(["dojo/ready", "dojo/dom", "dojox/dgauges/components/black/CircularLinearGauge", "dojox/dgauges/GaugeBase"],
function(ready, dom, CircularLinearGauge, GaugeBase) {
    var gauge = new CircularLinearGauge({value:10, animationDuration:5000}, dom.byId("circularGauge"));
    setInterval(function() {
        var randomValue = Math.floor((Math.random() * 100) + 1);
        gauge.set("value", randomValue);
        gauge.refreshRendering();
    }, 10000);
});

任何帮助将不胜感激,在此先感谢

4

1 回答 1

1

看起来它是一个问题dojox.dgauges.components.DefaultPropertiesMixin。如果将 _setValueAttr 函数替换为

_setValueAttr: function(v) {
     this.getElement("scale").getIndicator("indicator").set("value", v);
}

它应该为您制作动画。

附带说明一下,所有其他函数DefaultPropertiesMixin都直接设置每个属性,而不是使用 set 函数。建议将它们更改为使用 set 函数。

于 2012-12-05T05:47:21.973 回答