首先,动画事件主要包括以下三个animationstart,animationiteration和animationend事件,下面做简单分别介绍。
animationstart | 该事件在css动画开始播放时触发 |
---|---|
animationiteration | 该事件在css动画重新播放时触发 |
animationend | 该事件在css动画结束播放时触发 |
我们知道animation主要有6个属性,分别来设置动画呈现出来哦的效果,这个在我的另一篇文章中有介绍,我这边简单展示一下。
animation:name duration timing-function delay iteration-count direction;
分别是:动画名称 动画持续事件 动画运行速度曲线 动画开始时的运行时间 动画播放次数 规定是否反向轮流播放。 下面一段代码讲述的是采用监听动画开始,动画再次播放和动画结束做出相应的改变,这里用到addEventListener监听动画开始、动画持续播放、动画结束播放。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>animation动画篇</title>
<style type="text/css"> #con {
width: 100px; height: 100px; background: #FFA500; position: relative; } @-moz-keyframes myanimation {
from{
left: 100px;top:0px;} to{
left: 200px;top: 100px;} } @-webkit-keyframes myanimation {
from{
left: 100px;top: 0px;} to{
left: 200px;top: 100px;} } </style>
</head>
<body>
<div id="con" onclick="myfunction()">
</div>
<script type="text/javascript"> var x = document.getElementById('con'); //设置全局变量x function myfunction() {
x.style.WebkitAnimation="myanimation 2s linear 3"; // Chrome, Safari 和 Opera 浏览器兼容问题 x.style.animation="myanimation 2s linear 3"; } x.addEventListener("animationstart",myanimationStart); x.addEventListener("animationiteration",myanimationiterration); x.addEventListener("animationend",myanimationend); x.addEventListener("webkitAnimationStart",myanimationStart); // Chrome, Safari 和 Opera 浏览器兼容问题 x.addEventListener("webkitAnimationIteration",myanimationiterration); // Chrome, Safari 和 Opera 浏览器兼容问题 x.addEventListener("webkitAnimationEnd",myanimationend); // Chrome, Safari 和 Opera 浏览器兼容问题 function myanimationStart() //动画开始运行时触发,通过addEventListener事件监听到运行函数myanimationStart {
this.innerHTML="动画正在运行"; x.style.background="pink"; } function myanimationiterration() //动画再次运行触发,同样也是通过事件监听 {
this.innerHTML="动画重新运行"; x.style.background="greenyellow"; } function myanimationend() //动画运行结束时触发,同样也是通过事件监听事件 {
this.innerHTML="动画运行结束"; x.style.background="blue"; x.style.width=200+"px"; x.style.height=200+"px"; window.alert("动画运行结束"); } </script>
</body>
</html>
效果展示:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183545.html原文链接:https://javaforall.cn