D3.js D3V4:元素';快照';在编程转换后进行上一次转换的步骤
当我使用D3.js D3V4:元素';快照';在编程转换后进行上一次转换的步骤,d3.js,svg,D3.js,Svg,当我使用svg.call(zoom.translateBy,100100)以编程方式翻译svg时,然后用鼠标拖动元素,svgtransform属性将捕捉回拖动之前的值 这几乎就好像没有存储或保存由svg.call影响的转换,而是恢复到存储在d3.event.transform中的转换 似乎是在同一个问题上,虽然对于v3 似乎将缩放行为应用于两个不同的节点-svgMain和svg 试着运行svgMain.call(zoom.translateBy,100100)而不是svg.call(…),看看
svg.call(zoom.translateBy,100100)
以编程方式翻译svg
时,然后用鼠标拖动元素,svg
transform属性将捕捉回拖动之前的值
这几乎就好像没有存储或保存由svg.call影响的转换,而是恢复到存储在d3.event.transform
中的转换
似乎是在同一个问题上,虽然对于v3 似乎将缩放行为应用于两个不同的节点-svgMain
和svg
试着运行svgMain.call(zoom.translateBy,100100)
而不是svg.call(…)
,看看它是否解决了问题。太棒了,我使用了一个代码示例,但错过了这个,如果你没有想到它,调试起来真的很困难。非常感谢。
function zoomed() { svg.attr("transform", d3.event.transform); }
var zoom = d3.zoom().on("zoom", zoomed);
var svgMain = d3.select('body').append('svg').call(zoom);
var svg = svgMain.append('g') // All the drawing done here