【发布时间】:2016-04-16 23:53:30
【问题描述】:
我有一张 svg 国家地图,当您单击一个地区然后看到相对于所选地区的动画缩放时,我正在尝试实现效果,即在单击的地区中心使用transform-origin 点进行缩放。而且我希望不要使用任何库。
- 首先,为什么here,当我们设置了
svgviewBox属性时,polygons 用getBoundingClientRect()绘制的点与它们的实际元素不匹配svg、map、@ 987654331@? - 如果我们添加一些系数,例如here,那么我们需要什么
viewBoxMapCoefX1和viewBoxMapCoefX1,以便使用getBoundingClientRect()点绘制的mapPolygon匹配实际的map元素? -
当我尝试通过添加来扩展
map时:// ANIMATION HERE map.style.transformOrigin = transformOriginX + "px " + transformOriginY + "px"; map.style.transform = "scale(" + scale + ")";看起来
transformOrigin的值是错误的。如果我尝试通过添加更改viewBox值:// ANIMATION HERE svg.viewBox.baseVal.x = bounding.left; svg.viewBox.baseVal.y = bounding.top; svg.viewBox.baseVal.width = bounding.width; svg.viewBox.baseVal.height = bounding.height;那么如何使用 CSS 制作缩放动画(no SMIL)?
非常感谢您对此提供任何帮助或建议。
【问题讨论】:
标签: javascript html css animation svg