Rom*_*n L 5 firefox google-chrome d3.js
在Windows上的最新版Firefox(28.0)中,当应用缩放行为时,如本示例所示,单个鼠标滚轮事件会导致变焦变化很大:Chrome中的变化系数为~1.65 vs~1.18.
看一下源代码:
d3_behavior_zoomDelta = function() {
return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1);
}
Run Code Online (Sandbox Code Playgroud)
Chrome:{deltaMode:0,deltaY:-100} - > delta = 100
Firefox:{deltaMode:1,deltaY:-3} - > delta = 360
这解释了差异,但为什么会发生这种情况呢?这是Firefox还是d3.js问题?
我相信这是 Firefox 的问题。我通过将缩放限制在其当前值的 10% 以内(并在每次缩放时重置)来解决它:
var zoom = d3.behavior.zoom()
.on("zoom", redraw);
function redraw() {
zoom.scaleExtent([zoom.scale()*0.9, zoom.scale()*1.1]);
...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
670 次 |
最近记录: |