svg中的鼠标滚轮缩放效果-移动到中心点并在达到极限时停止缩放
Mouse wheel zooming effect in svg - to move to the center point and stop zooming when it reaches the limit
svg中的鼠标滚轮缩放效果-如何缩放到工作区域的中心点,以及如何在达到最小和最大缩放级别时停止缩放级别。在哪里设置最小和最大缩放值?
下面是我的代码,我重置了svgedit.compiled.js
zoomChanged
函数中的缩放级别 if (zoomlevel < 0.4) {
//changeZoom({value: 0.4});
var zoomlevel = 0.4;
return;
}
if (zoomlevel > 9.5) {
// changeZoom({value: 9.5});
var zoomlevel = 9.5;
return;
}
和ext-grid.js
中我放置了下面的代码
zoomChanged: function(zoom) {
if (showGrid)
{
if(zoom > 0.4 & zoom < 9.5)
{
updateGrid(zoom);
}
}
},
当鼠标滚轮滚动到0.4或9.5时,网格停止缩放,但缩放级别仍然改变,并缩放到鼠标放置的位置。
我需要工作区域应该缩放到鼠标放置的中心,当它达到minimum 0.4
或maximum 9.5
时,缩放应该停止。
在svg-editor.js文件中有这样一个函数:
var zoomChanged = svgCanvas.zoomChanged = function(win, bbox, autoCenter)
如果您将autoCenter变量设置为true,则可以强制缩放到工作区域的中心。所以:
var zoomChanged = svgCanvas.zoomChanged = function(win, bbox, autoCenter) {
autoCenter = true;
var scrbar = 15,
....
要限制缩放级别,打开svgcanvas.js并搜索:
this.setZoom = function(zoomlevel)
这里可以设置最小/最大缩放级别。例如,如果您希望允许最小值为100%,最大值为400%,您可以这样写:
this.setZoom = function(zoomlevel) {
if (zoomlevel<1) zoomlevel=1;
if (zoomlevel>4) zoomlevel=4;
...
注意这里使用的是局部变量
if (zoomlevel < 0.4) {
//changeZoom({value: 0.4});
var zoomlevel = 0.4;
return;
}
将var zoomlevel = 0.4;
改为zoomlevel = 0.4;
那么它可能会起作用
相关文章:
- 当涉及css缩放时,如何获得页面上的点击位置
- 创建缩放功能当我们点击签署整个页面获得缩放,当我们点击-签署它获得缩小
- jQuery动画缩放需要我点击主体
- CSS3 点击旋转和缩放
- 使用缩放javascript触发谷歌地图点击事件
- 谷歌地图API:当信息窗口关闭时,地图缩放回中心
- 相对于选定的地区中心缩放SVG国家/地区地图
- 使用SVG和jQuery可缩放和可点击的座位计划
- d3.js缩放并将力布局平移到视口中心
- 简单jquery缩放插件中的中心图像
- Phonegap IOS应用程序图像缩放多点触控
- 显示图形点的平均值,随着用户缩放而动态修正
- 矩阵缩放/从点平移
- d3.行为缩放鼠标滚轮缩放中心的动态偏移
- 基于缩放级别和中心点创建latlnbounds
- 如何改变集群缩放级别点击与传单地图
- svg中的鼠标滚轮缩放效果-移动到中心点并在达到极限时停止缩放
- 根据缩放调整点的大小
- Mapbox-gl:从中心点,缩放级别和尺寸计算地图边界
- 如何结合D3's内置缩放以及点击缩放可缩放冰柱