高图表股票动画
Highcharts stock animation
如何通过鼠标单击停止图表动画?
通过鼠标单击启动它相当容易。
events : {
click : function (e) {
// set up the updating of the chart each second
var series1 = this.series[0];
var series2 = this.series[1];
var series3 = this.series[2];
setInterval(function () {
series1.addPoint(u1Array[i], true, true);
series2.addPoint(u2Array[i], true, true);
series3.addPoint(u3Array[i], true, true);
i++;
}, 1000);
}
}
可能有更好的方法来打包这一切,它可能需要一些按摩才能工作,因为我没有完整的示例来测试,但作为 10 个的入门......
首先:为了清除您设置的计时器,您需要一个变量来存储它(根据 http://www.w3schools.com/jsref/met_win_clearinterval.asp(,所以我的第一次尝试是在我认为是更广泛的图表对象中创建一个"间隔"对象 - 如果我有一个完整版本的问题,我会测试它是否正常工作......不确定interval
是否需要更加全球化。
第二:点击函数的逻辑需要根据它当前是否正在运行而改变......因此,鉴于函数可以作为变量传递,我定义了两个相互交换的函数......真的很想在发布作为答案之前先对此进行测试!(我犯了一些巨大的语法错误,这不太可能!
最后:我会担心i
的范围 - 一旦你第三次点击,它可能会从 0 重新开始(再次,我想测试的东西!(,所以我把它放在图表对象中自己的变量中。
所以。。。
events : {
click : this.start
},
interval: null,
i: 0,
start: function(e){
var series1 = this.series[0];
var series2 = this.series[1];
var series3 = this.series[2];
this.interval = setInterval(function () {
series1.addPoint(u1Array[this.i], true, true);
series2.addPoint(u2Array[this.i], true, true);
series3.addPoint(u3Array[this.i], true, true);
this.i++;
}, 1000);
this.events.click = this.stop;
},
stop: function(e){
clearInterval(this.interval);
this.events.click = this.start;
}
相关文章:
- 如何访问高图表工具提示中的任何特定数据
- 将图表动态添加到组合高图表中
- 在Firefox中导出高图表时出现黑色图像错误
- 在高图表中,每x步只显示标签
- 高图表的文本溢出问题
- 单击时获取父级子级高图表
- 如何在拖动后获得图表的最小值和最大值放大高图表
- 制作高图表'setExtremes使用两个Y轴取消勾选
- ng高图表的响应行为,加载时隐藏编译的ng点击xAxis标签
- 如何根据创建日期对对象进行排序,以插入Meteor的高图表
- 在图例项目之间添加额外空间的高图表
- 正在读取高图表中上载的csv文件
- 高图表数据导入 JSON - 格式
- 带有背景色的高图表柱形图
- 获取高图表以重新设置折线图的动画
- 高图表 - 柱形图重绘动画
- 高图表:仅使用圆环图对饼图进行动画处理/防止内部大小动画
- 高图表动画机器人
- 高图表股票动画
- 高图表-当饼状图切片时丢失的动画以编程方式设置