css3延时-CSS动画弹跳

2023-09-05 0 9,788 百度已收录

在做项目的时候,我们经常会遇到动画的使用。 以前动画都是用js写的,通过setTimeout函数或者window.requestAnimationFrame()来实现目标元素的动画效果。 后者虽然解决了刷新频率和联通频率同步的问题,但由于频繁对dom进行js操作带来的额外费用和复杂的估算公式,促使大多数开发者回避使用原生js动画,而求助于各种插件动画。 。 这似乎是 HTML 的一个弱点。 在制作网站动画时css3延时,JS无论是功效还是性能都比Flash落后很多步。 所以当html5和css3的标准出现后,情况发生了变化,大多数人从复杂的js动画转向稍微简单的css动画。 CSS3为我们提供了一个很棒的API来实现以前需要花费大量精力才能实现的功能。 只需非常简单的代码,任何人都可以快速学习 CSS 动画。 下面是一个沿Y轴上下移动的动画示例(这里使用webkit内核作为默认标准,实际情况需要自行兼容):

转换:

.mydiv {

宽度:100px;

高度:100px;

背景:红色;

-webkit-transition:all2s;

.newClass {

-webkit-transform:translateY(100px)

动画片:

@-webkit-keyframes mymove {

来自{顶部:0px;}

到{顶部:200px;}

.mydiv {

宽度:100px;

高度:100px;

背景:红色;

位置:相对;

-webkit-animation:mymove2sforwards;/* Safari 和 Chrome */

以上是CSS动画常用的两种写法。 对于简单的动画,通常首选第一种变换类型。 如果需要做复杂的变换,可以使用第二种动画方法,将帧的状态写入不同的运动帧上。

很多时候我们需要知道动画什么时候完成以及完成后需要做什么。 换句话说,动画完成需要一个回调函数。 在js动画中,你不需要害怕找不到回调函数,因为动画本身完全依赖js,而回调只是一个普通的函数。 首先,路追也习惯性的用js思维来思考这个问题。 现在我们知道了动画变化时间css3延时,我们就可以使用delay来解决回滚的问题了。下面是delay的方法

css3延时-CSS动画弹跳

//css中的代码可以看到动画持续2s

vardelay = 2000;

setTimtout(函数(){

做一点事()

},延迟);

上面的方法并不难理解。 如果延迟执行某个函数,延迟时间就是动画发生变化的时间。 这样看来,动画完成后该函数就会立即执行。 然而,这种方法有许多严重的缺陷。 首先,setTimeout函数和css动画不一定一致。 因为动画开始时间和setTimeout时间严格来说并不一致,要么函数提前执行,要么动画提前结束。 其次,js代码和css代码耦合。 任何时候延迟时间都必须遵循css中的时间。 如果css代码发生变化或者js代码发生变化,双方都要花时间进行修复和同步(即更改为一致的时间),这样就减少了工作量。 第三,多种动画会带来更多的代码量和不确定的激励。 由于每个计时器针对的是单独的动画元素,因此一旦动画元素增多,就必须添加更多的代码。 第四,它无法处理多个动画元素同时结束的情况。 等待。 。 。 。

上述缺点仅被部分发现。 对于复杂的动画,延迟函数是完全不适合的。 那么有什么办法可以解决动漫的反弹问题呢? 答案其实是肯定的。 而且很简单,和之前的绑定点击风暴是一样的。 js提供了css3中两个动画的结局风暴。 有了它们,我们就可以轻松捕捉完成的动画了。

过渡结束

document.getElementById('my').addEventListener('transitionEnd', function(){

alert('变换动画已经完成!');

});

动画结束

document.getElementById('my').addEventListener('animationend', function(){

alert('动画已经完成!......');

});

正如我们所看到的,它们对于开发者来说一点也不陌生。 无论是用法还是字面名称,都让我们一目了然。 其实啰嗦的话还有很多,这篇博客主要就是两个风雨无阻的名字。 以下是它们的兼容治疗方法。 大多数浏览器都支持这两种风暴,基本上支持CSS3动画的浏览器都会支持这两种风暴。

补充一点:animationend只是动画的变化之一。 你应该能够想到其他变化的状态,没错:animationstart、animationiteration。 利用这三个状态时间,我们可以随心所欲地控制变化的动画效果。 尤其是动画迭代危机让我们能够在动画的变革过程中出手。

【今日微信公众号推荐↓】

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 css css3延时-CSS动画弹跳 https://www.wkzy.net/game/194845.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务