繁体   English   中英

如果比例最大/最小,如何忽略d3.js缩放行为?

[英]How to ignore d3.js zoom behavior if scale is maxed/minimal?

给定具有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;
}

记住,您必须检查每一帧,因此在刻度/更新功能中,它总是检查缩放是否超出范围,从而带来滚动功能

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM