我有一个创建图表的JS。首先渲染图形,并按如下所示每3秒更新一次。
我想在单击按钮时使用clearInterval或其他方式停止执行脚本。我怎样才能做到这一点?
我理解clearInterval是如何工作的,但是,我无法弄清楚如何根据事件控制嵌套的setInterval。
免责声明:我是JS等人的新手。
mystats = function () {
this.render = function() {
var graph = vendorgraph();
graph.render();
setInterval( function() {
jsonupdate.addData(seriesData,url);
graph.update();
}, 3000 );
}
}
var mytrends = new mystats();
mytrends.render();
答案 0 :(得分:0)
setInterval返回一个值,您可以使用该值稍后停止它,也可以将其存储在某个间隔数组中。
var intervalArray = [];
mystats = function () {
this.render = function() {
var graph = vendorgraph();
graph.render();
var interval = setInterval( function() {
jsonupdate.addData(seriesData,url);
graph.update();
}, 3000 );
intervalArray.push(interval);
}
}
// later on
var intervalVariable = intervalArray[0];
clearInterval(intervalVariable)
答案 1 :(得分:0)
我从扎克的其他帖子中得到了一个暗示并以这种方式解决了
mystats = function () {
var interval;
this.render = function() {
var graph = vendorgraph();
graph.render();
interval = setInterval( function() {
jsonupdate.addData(seriesData,url);
graph.update();
}, 3000 );
}
this.stoprender = function() {
clearInterval(interval);
}
}
var mytrends = new mystats();
mytrends.render();
on my event {
mytrends.stoprender();
}