css3动画设置无效

css3动画设置无效

原因1: 添加动画元素是行内元素**

解决: 设置为行内块级元素

原因2: diff算法的原因

这个遇到的情况比较少,但是我在开发中确实遇到了,讲讲经历吧

  • 在做年度报告的时候,需要加一个动画效果,让文字逐行显示
    在这里插入图片描述
  • 然后我就获取到当前页面的每一行的元素
  • 给元素加上动画属性样式
  • 第一个页面没有问题,每一行都是逐行显示的
  • 到了第二页,就没有逐行显示的效果了
  • 我以为是没获取元素,或者js没有生效
  • 调试之后发现都生效了,并且在控制台上查看元素的属性,已经加上了动画属性
    在这里插入图片描述
  • 这就很奇怪,然后再切换页面的时候,我发现那个元素感觉没有重新渲染,只是改变了其中的值
  • 我就想到了diif算法,然后我大胆的验证了下
  • 给元素加上了不同的key值,果然就好了
  • 为什么第二个页面没有动画效果
  • 因为dom元素并没有更新,更新的是里面的值
  • 所以动画就不生效,因为他认为之前元素已经执行完毕了这个动画,就不会在执行了
  • 理解原理还是有必要的,不然很多问题的解决要走很多弯路

关于简单理解diff算法的一篇文章 https://blog.csdn.net/weixin_42369612/article/details/120705876

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值