d3.behavior.zoom() 加载图像时设置初始化缩放倍数跟移动大小后,再次用鼠标滚轮进行缩放时,无法正常缩放的问题

var zoom = d3.behavior.zoom()//缩放配置,

        .scaleExtent([0.4, 5])//缩放比例

        .on("zoom", zoomed);

function zoomed(){//缩放函数

     svg.selectAll("g").attr("transform",//svg下的g标签移动大小

     "translate("  +d3.event.translate + ")scale(" +d3.event.scale + ")");

}

 

var svg = d3.select("#keyword").append("svg")//添加svg元素进行图形的绘制

        .attr("width", width)

        .attr("height", height)

        .call(zoom);

 

/******************以下部分是缩放的初始值跟移动大小设置【开始】*****************/

var sys_scale = 0.8;//初始时缩放倍数

var sys_transform = [442,150];//初始时标签移动大小

svg.selectAll("g").attr("transform",//svg下的g标签移动大小及缩放倍数

    "translate("+paramTransform.toString()+")scale("+paramScale+")");

 

//注意:一定要加上如下配置,否则初始化后无法正常缩放

zoom.translate(paramTransform);

zoom.scale(paramScale);

 

/******************以下部分是缩放的初始值跟移动大小设置【结束】*****************/

 

猜你喜欢

转载自blog.csdn.net/qq_25927437/article/details/81476278