【d3.v4】怎么实现通过外部按钮触发svg的缩放
var svg = d3.select("#svg");
svg.call(
d3.zoom().scaleExtent([0.5, 2]).on("zoom", zoomed)
);
var zoomed = function(){
d3.select(this).selectAll("g").attr("transform", d3.event.transform);
}
外部按钮
d3.select("#button").on("click", function(){
d3.zoom().scaleBy(svg, 1.1);
})
现在点击按钮,没有效果,没有触发zoomed方法,这应该怎么解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当调用上面代码时,d3应该会监听svg,把svg的缩放和平移的相关值放在zoom的transform的变量里。
运行一下面的demo,看看控制台的输出应该就能明白了。
function zoomIn(){
指定需要缩放的元素 , 并且先获得上一次缩放的大小
这个效果具体怎么实现,我试了没有成功