javascript - 如何使 svg 路径可移动?

标签 javascript html svg

我创建了一个 SVG 图像。你可以在这里看到它:

jsfiddle.net/o2n56fyb/5/

在这个 SVG 图像中,点线很少。你可以在这里看到它:

http://creativeartbd.com/demo/blockchain/

现在,我想让这些点线像连续运行一样可移动。那可能吗?如果是这样,你能告诉我怎么做吗?

最佳答案

您需要使用 stroke-dasharraystroke-dashoffset例如像这样:

var polygon = document.querySelector("polygon");
var dashoffset = 0;
polygon.style.strokeDashoffset = dashoffset;

function Animate() {
window.requestAnimationFrame(Animate);
dashoffset += 2;  
polygon.style.strokeDashoffset = dashoffset;
}
Animate();
svg{border:1px solid #d9d9d9; display:block; margin:0 auto;max-height:100vh}
<svg width="250" height="250" viewBox="0 0 250 250">
   <polygon points="50,50 200,50 200,200 50 200" 
            style="fill:none;
                   stroke:#000;
                   stroke-width:3;
                   stroke-dasharray: 30,15;"
            ></polygon>
</svg>

希望这就是您所需要的。

关于javascript - 如何使 svg 路径可移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52307720/

相关文章:

javascript - SVG 动画在 Chrome 中不起作用(在 GWT 中使用 animateTransform)

javascript - 对数刻度返回 NaN

html - div之间出现奇怪的垂直线

javascript - 如何使用 JavaScript 测试来自外部数据库内容的 HTML div?

html - 下拉错误最后一个按钮

html - block 级元素的宽度不依赖于其父元素的宽度有哪些异常(exception)情况?

javascript - document.getElementById.value 不起作用

html - 将文本与 svg 图像对齐

javascript - 使用 for 循环从 Javascript 函数返回多个值

javascript - 是否可以使用由不同版本的 Angular 构建的不同 Angular 元素