众所周知,JavaScript有一个原生动画API,叫做Web Animations API。在接下来的文章中,我们将简称为WAAPI。
在本文中,我们将从各个方面来比较WAPPI和CSS中的动画。各位看官可自行判断其中哪个更好,哪个有所欠缺。
WAAPI的基础知识
如果你曾经使用jQuery .animate(),WAAPI的基本语法应该看起来很熟悉。
var element = document.querySelector('.animate-me');
element.animate(keyframes, 1000);
该animate方法接受两个参数:keyframes和duration。与jQuery不同的是,它不仅具有内置在浏览器中的优点,而且性能也更好。
第一个参数,keyframes应该是一个对象数组。每个对象都是我们动画中的一个keyframe。这是一个简单的例子:
var keyframes = [
{ opacity: 0 },
{ opacity: 1 }
];
第二个参数,duration,是我们想要动画持续多久。在上面的例子中是1000毫秒。我们来看一个更令人兴奋的例子。
#用WAAPI重新创建animista CSS动画
有一些被称为“模糊的幻灯片”入场动画的东西。看起来很可爱。
以下是CSS中的keyframes:
0% {
transform: translateY(-1000px) scaleY(2.5) scaleX(.2);
transform-origin: 50% 0;
filter: blur(40px);
opacity: 0;
}
100% {
transform: translateY(0) scaleY(1) scaleX(1);
transform-origin: 50% 50%;
filter: blur(0);
opacity: 1;
}
WAAPI中的代码相同:
var keyframes = [
{
transform: 'translateY(-1000px) scaleY(2.5) scaleX(.2)',
transformOrigin: '50% 0', filter: 'blur(40px)', opacity: 0
},
{
transform: 'translateY(0) scaleY(1) scaleX(1)',
transformOrigin: '50% 50%',
filter: 'blur(0)',
opacity: 1
}
];
我们已经看到将keyframes应用到要动画的任何元素是多么容易:
element.animate(keyframes, 700);
为了简单起见,我只指定了duration。但是,我们可以使用这个第二个参数来传递更多的选项。至少我们也应该指定一个easing。以下是可用选项的完整列表,其中包含一些示例值:
var options = {
iterations: Infinity,
iterationStart: 0,
delay: 0,
endDelay: 0,
direction: 'alternate',
duration: 700,
fill: 'forwards',
easing: 'ease-out',
}
element.animate(keyframes, options);
有了这些选项,我们的动画将从头开始,没有任何延迟,循环永远在向前和向后播放。
点我查看代码以及效果!!!
更多请点击这里:http://igeekbar.com/igeekbar/post/245.htm
相关推荐
在Animate.css 4.1.1版本中,可能还增加了对新的浏览器特性的支持,比如Web Animations API,这将进一步提高性能和动画的控制能力。同时,开发者社区可能会贡献更多定制的动画效果,以满足不同项目的需求。 总之,...
Animate.css 提供了即用型的CSS动画,而Velocity.js 则提供更底层的JavaScript动画控制。两者各有优势,可以根据项目需求和开发者偏好进行选择。在实际开发中,可能需要根据项目性能需求和动画复杂性来决定使用哪个...
总的来说,"手机app页面转换css3动画特效.zip" 提供了一个实用的工具包,让开发者能够利用现代Web技术创造出富有吸引力和互动性的移动应用界面。通过深入理解并应用其中的代码和概念,开发者可以提升其应用的视觉...
总的来说,"时光隧道穿梭动画CSS3特效.zip"是一个很好的学习和实践CSS3动画的资源,它展示了如何利用现代Web技术创造引人入胜的用户体验。对于希望提升网页设计水平或探索CSS3高级功能的开发者来说,这是一个...
使用CSS动画增强用户体验。 3. **JavaScript**:实现动态效果,如表单验证、Ajax请求等;结合jQuery等库简化DOM操作;利用React或Vue构建复杂的用户界面。 通过综合运用HTML5、CSS与JavaScript,可以开发出既美观又...
在这个小人骑自行车的动画中,CSS3的动画特性被充分利用,通过`@keyframes`规则定义了动画的不同阶段,实现了小人骑行的动作,包括腿部的蹬踏、身体的摇摆和自行车的移动等。 2. **JavaScript**:JavaScript是一种...
HTML5和CSS3是现代网页开发的两大核心技术,它们极大地扩展了Web开发的可能性,使得...这个自行车动画实例展示了HTML5和CSS3在现代网页设计中的强大潜力,对于学习和实践Web前端技术的人来说,是一个很好的学习资源。
5. **CSS3**:为了实现动画效果,CSS3的属性如`transition`和`animation`可能会被用到。它们允许元素在特定时间内平滑地改变样式属性,创建出过渡和动画效果。 6. **响应式设计**:由于该项目是为移动端设计的,...
在Web开发中,动画效果往往能提升用户体验,尤其是在电商网站上,支付成功后的反馈是用户关心的关键环节。这个"CSS3淘宝支付成功打勾动画代码"是一个实现此类反馈效果的例子。通过CSS3的动画特性,我们可以创建出...
在现代网页设计中,CSS3已经成为了不可或缺的一部分,它提供了丰富的样式和强大的动画效果,让网页变得更加生动和吸引人。本篇文章将详细讲解如何利用CSS3的特性以及Anime.js库来实现炫酷的文字动画特效。 首先,...
总之,通过熟练掌握CSS3的变换和动画,配合JavaScript和jQuery的事件处理,开发者能够创造出引人入胜的Web应用和网站,提供超越传统静态页面的互动体验。HTML5的新特性则进一步扩展了这种可能性,使Web开发更加生动...
CSS2.0_API_2002.chm和CSS2.0_API_2002.chw可能是同一份文档的不同版本,详细介绍了CSS2.0规范,尽管CSS3已经发布,但理解CSS2.0的基础对于学习CSS3至关重要。开发者可以从中学习如何创建响应式设计、定义盒模型、...
CSS2.0和CSS3.0是其主要版本,CSS3.0增加了更多的选择器、动画和过渡效果,以及媒体查询等功能,使网页设计更为灵活和响应式。 2. **JavaScript**(JS):是一种广泛应用于客户端Web开发的脚本语言,通常与HTML和...
HTML5和CSS3是现代网页开发的两大核心技术,它们为创建动态、交互性强的卡通动画效果提供了无限可能。...同时,这也为开发者提供了实践和探索Web动画原理与技巧的机会,进一步提升他们的专业技能。
9. **CSS特效**:可能使用CSS3的transform和transition属性,或者CSS动画来增强2D元素的视觉效果,使之与3D场景相融合。 10. **jQuery整合**:使用jQuery简化DOM操作,例如响应用户事件,或者同步3D场景与页面其他...
投票模块需要有吸引人的交互设计,例如,使用CSS动画来增强用户体验,如按钮的鼠标悬停效果、投票结果的动态显示等。通过伪类(:hover, :active, :focus)和关键帧动画(@keyframes),可以实现这些功能,让界面更加...
jQuery库以其简洁的API和强大的功能,成为JavaScript开发中不可或缺的一部分,而CSS3的新特性则提供了丰富的动画效果。"jQuery CSS3酷炫网页文字动画特效.zip"就是将这两者巧妙结合,为网页的文字展示带来独特的视觉...
《jQuery结合animate.css实现自定义弹窗动画插件详解》 ...通过学习和实践这个例子,开发者可以掌握如何运用jQuery进行事件处理、动画控制,以及如何结合animate.css创建丰富的动态效果,进一步提升自己的Web开发技能。
Repaintless.css是一款专为优化CSS3动画性能而设计的轻量级库。在Web开发中,CSS3动画经常被用来提升用户体验,但不恰当的使用可能会导致页面频繁...通过合理利用其特性,开发者可以创建出既美观又高效的Web动画效果。
Three.js是JavaScript的一个开源库,它为开发者提供了在Web浏览器中进行3D图形编程的能力,无需深入学习底层的WebGL API。 首先,理解Three.js的基本概念至关重要。Three.js提供了一个完整的框架,包括场景(Scene)...