如何实时更新变量并使其产生影响?

时间:2019-07-16 14:17:56

标签: javascript jquery variables d3.js graph

你们还有另一个问题:

我有我的index.html文件,该文件具有脚本和功能(功能由按钮触发):

function myFunction() {
  domainA = domainA - 5;
  domainB = domainB - 5;
}

这些变量在.js文件中的定义如下:

var domainA = 500;
var domainB = 1000;

这些变量位于d3函数(d3.js v4)中,作为图的比例域,如下所示:

this._xScale = d3.scaleLinear()
    .domain([domainA, domainB])
    .range([0, this._canvasWidth - 20]);

该代码可以正常使用domainAdomainB的预定义变量,但是当我按下按钮更改这两个变量的值时,我的d3图形不会改变。

这是图形无法实时更新的问题吗? JQuery可能会遇到这个问题吗?再次感谢您的帮助!

快速更新一种可能的解决方案是在变量更新后重新加载页面。我无法在代码中支持该解决方案,因为重新加载页面会丢失代码中的某些数据。

1 个答案:

答案 0 :(得分:0)

在单击事件之后,您将需要重新渲染d3代码。我将创建一个render方法,并在加载时调用它,然后在数据更改后也调用它。