javascript - JavaScript 中的 SVG 缩放

标签 javascript html svg

我是 SVG 的新手,我对如何在 SVG 元素内缩放形状感到困惑。

有人可以向我解释为什么以下内容不起作用吗?我想将圆圈扩大 50%。

这是我的 jsfiddle 示例,它没有缩放圆圈?

https://jsfiddle.net/q2buo2x7/

<svg height="150" width="150" id="outer">
    <circle id="inner" cx="25" cy="20" r="20" fill="orange"/>
</svg>

<script>
    function zoom() {
        var outer = document.getElementById('outer');
        outer.setAttribute("currentScale", 1.5);
    }
    zoom();
</script>

最佳答案

    function zoomIn1() {
        var outer = document.getElementById("outer");
        outer.setAttribute("currentScale", 1.5);
    }
    function zoomIn2() {
        var outer = document.getElementById("outer");
        outer.currentScale = 1.5;
    }
    function zoomIn3() { // Correct way
        var inner = document.getElementById("inner");
        inner.setAttribute("transform", "scale(1.5)");
    }

在 IE zoomIn1 中,zoomIn2 和 zoomIn3 将起作用。

在 Chrome 中,zoomIn1 什么都不做,zoomIn2 将缩放整个页面,而 zoomIn3 将执行您想要的操作。因此,对于您的 Microsoft 考试,您的答案是正确的,但在现实生活中:使用 zoomIn3 中所述的 transform 属性。

关于javascript - JavaScript 中的 SVG 缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30988785/

相关文章:

javascript - 将 JavaScript 数据结果放入表单输入值

svg - SVG 路径描述中的逗号

javascript - 我想为鼠标视差添加轻松过渡

javascript - 在内容可编辑中禁用带 Angular 输入

javascript - beforeunload 事件和 Content-Disposition=attachment

php - Flash/Actionscript 是 css 和 javascript 的替代品吗?

html - 如何在我的 CSS 中使用来自 fontello 的图标?

jquery - 在固定 div 内加载表单

d3.js - SVG 元素中的 Latex 数学方程

javascript - 是否可以创建 React-native 组件的索引并将它们作为 prop 有条件地传递?