前端动画总结

前端常用的动画,不外乎以下几种:纯JS实现利用setInterval() 或者setTimeout() 方法,来持续修改某个元素的CSS属性,来达到样式变化的目的。<script> let element = document.getElementById('rect'); element.onclick = function (e) {...
摘要由CSDN通过智能技术生成

前端常用的动画,不外乎以下几种:

纯JS实现

利用setInterval() 或者setTimeout() 方法,来持续修改某个元素的CSS属性,来达到样式变化的目的。

<script>
    let element = document.getElementById('rect');
    element.onclick = function (e) {
   
        animation();
    };

    let animation = function () {
   
        let move = 0;
        let timer = setInterval(function () {
   
            if (move > 200) {
                clearInterval(timer);
            } else {
                move += 5;
                element.style.marginLeft = move + "px";
                console.log(move);
            }
        }, 16)
    }
</script>

缺点:该方式会重复的导致页面的重绘和重排,性能消耗比较大,一般用于PC浏览器,移动端会有明显卡顿。

16ms = 1000ms/60帧 , 可视为近似流畅

SVG animation

SVG 标签简介

SVG实现动画,常见的有五个标签:

1 <set> : 无动画,常用来实现延时操作

<svg width="320" height="320" xmlns="http://www.w3.org/2000/svg">
  <g> 
    <text font-family="microsoft yahei" font-size="120" y="160" x="160"><set attributeName="x" attributeType="XML" to="60" begin="3s" />
    </text>
  </g>
</svg>

2 <animate> : 单属性动画,修改元素的一个属性。

<svg width="320" height="320" xmlns="http://www.w3.org/2000/svg">
  <g> 
    <text font-family="microsoft yahei" font-size="120" y="160" x="160"><animate attributeName="x" from="160" to="60" begin="0s" dur="3s" repeatCount="indefinite" />
    </text>
  </g>
</svg>

3 <animateColor> : 颜色动画,已废弃
4 <animateTransform> : 变换动画,同CSS3 的transform 常见的有rotate, skew, scale, translate等、

<svg width="320" height="320" xmlns="http://www.w3.org/2000/svg">
  <g> 
    <text font-family="microsoft yahei" font-size="80" y="100" x=
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值