动态添加svg动画animate

38 篇文章 2 订阅
1 篇文章 0 订阅

代码如下:

html:

<svg xmlns="http://www.w3.org/2000/svg" width="300px" height="100px">
    <circle cx="50" cy="50" r="15" fill="black" stroke="black" stroke-width="1">
    </circle>
</svg>

js:

<script>
    var animate = document.createElement("animate")
    animate.setAttribute("attributeName","fill-opacity");
    animate.setAttribute("values","1;0;1");
    animate.setAttribute("dur","1s");
    animate.setAttribute("repeatCount","indefinite");

    document.getElementsByTagName('circle')[0].append(animate)

    $('svg').html($('svg').html())


</script>

用js创建animate标签,并设置相关的属性;

然后将创建的animate标签放到circle里面:

但是仅仅如此,页面上是不会有效果的,所以我们需要将svg重新渲染:

$('svg').html($('svg').html())可以实现我们的需求,有更好的重新渲染的方法,欢迎大家留言讨论。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SVG动画是一种使用Scalable Vector Graphics (可缩放矢量图形)格式来创建动画效果的技术。与其他常见的图像格式(如JPEG或PNG)不同,SVG具有矢量特性,可以缩放并保持清晰度。 要加载SVG动画,首先需要将SVG文件嵌入到HTML文档中。可以通过`<object>`或`<embed>`标签来实现。例如: ```html <object type="image/svg+xml" data="animation.svg"> Your browser does not support SVG </object> ``` 在加载完成后,可以使用CSS或JavaScript来控制SVG动画的行为。可以添加CSS样式来改变动画的外观,或者使用JavaScript来控制动画的播放、暂停和重放。 要实现加载动画,可以在SVG文件中添加动画元素和属性。例如,可以使用`<animate>`元素来定义属性的动画效果。例如,要创建一个从左到右移动的动画效果,可以使用以下代码: ```html <rect width="100" height="50"> <animate attributeName="x" from="0" to="200" dur="1s" fill="freeze" repeatCount="indefinite" /> </rect> ``` 在上面的示例中,`<rect>`元素定义了一个矩形,`<animate>`元素定义了矩形的x属性动画。`attributeName`属性指定要动画化的属性,`from`和`to`属性指定属性的起始值和终止值,`dur`属性指定动画的持续时间,`fill`属性指定动画结束后属性的保持方式,`repeatCount`属性指定动画的重复次数。 通过调整属性和添加其他SVG元素和动画,可以创造出各种各样的加载动画效果。无论是旋转、缩放、渐变还是路径动画,都可以通过SVG轻松实现。 总之,加载SVG动画涉及将SVG文件嵌入到HTML文档中,并使用CSS或JavaScript来控制动画的行为。通过使用SVG的矢量特性和丰富的动画元素和属性,可以创建各种各样的引人注目的加载动画效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值