给定具有d3.behavior.zoom
且确定的scaleExtent
的SVG,将通过鼠标滚轮事件进行缩放:
如果比例尺最小(即SVG完全缩小),或者
如果比例尺最大(即SVG已完全放大)
如何忽略缩放事件并使鼠标滚轮事件正常进行(因此使页面上下滚动?)
最佳答案
不要在评论中清除,但是类似或类似的内容可能会起作用:
JS:
伪放大
var zoomEnd = false;
if(zoom < min ){ zoom = min, var zoomEnd = true; }
if(zoom > max){ zoom = max, var zoomEnd = true; }
检查zoomEnd = true(即:缩放处于最小或最大缩放):
if(zoomEnd =true)
{
d3.select('svg').classed('scroll', true)
} else{
d3.select('svg').classed('scroll', false))
}
CSS:
.scroll{
overflow: scroll;
}
请记住,您必须在每一帧都执行此检查,因此在刻度/更新功能中,它始终会检查缩放是否超出范围,从而带来滚动功能
关于javascript - 如果比例最大/最小,如何忽略d3.js缩放行为?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29287933/