Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3缩放jquery按钮单击_Javascript_Jquery_D3.js - Fatal编程技术网

Javascript D3缩放jquery按钮单击

Javascript D3缩放jquery按钮单击,javascript,jquery,d3.js,Javascript,Jquery,D3.js,我正在尝试实现一个简单的D3SVG缩放功能。双击矩形时,缩放功能工作正常 现在我尝试在jquery按钮单击函数上实现相同的功能。但我在控制台中遇到以下错误 未捕获的TypeError:无法读取null的属性“translate” 下面是我的代码 var zoom=d3.behavior.zoom .scaleExtent[1,10] .onzoom,缩放; var vis=d3.selectsvg-canvas.appendsvg .宽度,550 .身高,200 .附录 .attrclass,

我正在尝试实现一个简单的D3SVG缩放功能。双击矩形时,缩放功能工作正常

现在我尝试在jquery按钮单击函数上实现相同的功能。但我在控制台中遇到以下错误

未捕获的TypeError:无法读取null的属性“translate” 下面是我的代码

var zoom=d3.behavior.zoom .scaleExtent[1,10] .onzoom,缩放; var vis=d3.selectsvg-canvas.appendsvg .宽度,550 .身高,200 .附录 .attrclass,svg容器 .attrtransform,translate10,10 .callzoom; 附体 .attrx,10 .艾特里,10岁 .宽度,100 .身高40 .stylefill,444; 函数放大{ d3.select.svg-container.attrtransform,translate+d3.event.translate+scale+d3.event.scale+; } $document.readyfunction{ $zoom.clickfunction{ 放大; }; }; 快速移动
单击时,您没有设置d3.event,因为没有来自d3的事件,因此您必须自己指定缩放/平移参数

function zoomClicked(translate, scale) {
    d3.select(".svg-container").attr("transform", "translate(" + translate + ")scale(" + scale + ")");
}

 $(document).ready(function() {
     $("#zoom").click(function() {
         zoomClicked(4, 4);
     });
 });

D3在双击时有自己的事件生成机制。由于在D3未处理的元素上有click处理程序,因此没有D3.event


浏览器控制台上有错误吗?有,编辑了问题。
  d3.select(".svg-container")
    .attr("transform", scale(2)");