我有一张D3图表,我附加到dom。如果我包含下面的代码,图表会立即生成动画。但是,我不希望这种情况发生。因此,我想稍后添加转换 - 我再次运行相同的函数添加图表但使用if / else语句,我避免第二次附加图表而是运行下面的代码 - 问题是图表现在没有动画。我想知道是不是因为我没有提供足够的信息来选择什么 - ({})
不够具体? - 或者它是否可能是另一个问题?
var transition = d3.select({}).transition()
.duration(250)
.ease("linear");
var that = this;
答案 0 :(得分:0)
如果您之前添加了d3图表,则可能存储了对svg的引用?
var svg = d3.select('body').append('svg').attr({/*...*/}); // etc.
假设上述做法可以重复使用变量:
svg.transition().duration(250).ease("linear");
如果以后必须进行选择,则必须使用select语句的字符串:
d3.select('svg').duration(250).ease("linear");
// selects the first <SVG> tag found in the DOM