暂停和播放CSS3动画的两种实现方法
1,直接修改animationPlayState
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
div{
background-color: #ff0000;
position: absolute;
animation:mymove 4s 1;
-moz-animation:mymove 4s 1; /* Firefox */
-webkit-animation:mymove 4s 1; /* Safari and Chrome */
-o-animation:mymove 4s 1; /* Opera */ -webkit-animation-fill-mode: forwards ;
-animation-fill-mode: forwards ;
}
@keyframes mymove {
from {top: 0}
to {top: 100px}
}
@-webkit-keyframes mymove {
from {top: 0}
to {top: 100px}
}
</style>
</head>
<body>
<div id="nice">nice</div>
<script>
var nice = document.getElementById("nice"); var prefixs = ["","o","moz","webkit"],
div = document.createElement("div"),
computeStyle,
prefixAnimationPlayState;
//获取所支持的animationPlayState,IE6,7,8不支持CSS3,就不写currentStyle的兼容代码了
computeStyle = window.getComputedStyle(document.documentElement,"");
prefixs.forEach(function(key){
var prefix = !key ? "animationPlayState" : key + "AnimationPlayState";
if(typeof computeStyle[prefix] == "string")
prefixAnimationPlayState = prefix;
}) setTimeout(function(){
nice.style[prefixAnimationPlayState] = "paused";
},1000); setTimeout(function(){
nice.style[prefixAnimationPlayState] = "running";
},2000);
</script>
</body>
</html>
2,修改class
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
div{
background-color: #ff0000;
position: absolute;
animation:mymove 4s 1;
-moz-animation:mymove 4s 1; /* Firefox */
-webkit-animation:mymove 4s 1; /* Safari and Chrome */
-o-animation:mymove 4s 1; /* Opera */ -webkit-animation-fill-mode: forwards ;
-animation-fill-mode: forwards ;
}
@keyframes mymove {
from {top: 0}
to {top: 100px}
}
@-webkit-keyframes mymove {
from {top: 0}
to {top: 100px}
} .paused{
-webkit-animation-play-state: paused!important;
-moz-animation-play-state: paused!important;;
-o-animation-play-state: paused!important;;
-animation-play-state: paused!important;;
} .running{
-webkit-animation-play-state: running!important;;
-moz-animation-play-state: running!important;;
-o-animation-play-state: running!important;;
-animation-play-state: running!important;;
}
</style>
</head>
<body>
<div id="nice">nice</div>
<script>
var nice = document.getElementById("nice"); vardiv = document.createElement("div");//通过修改class暂停
setTimeout(function(){
nice.className = "paused";
},1000); setTimeout(function(){
nice.className = "running";
},2000);
</script>
</body>
</html>
暂停和播放CSS3动画的两种实现方法的更多相关文章
- android缩放动画的两种实现方法
在android开发.我们会常常使用到缩放动画,普通情况下缩放动画有两种实现方式.一种是直接通过java代码去实现,第二种是通过配置文件实现动画,以下是两种动画的基本是用法: Java代码实现: // ...
- css3动画的两种方式transition和@keyframs
- Android系统移植与调试之------->如何修改开机动画的两种方式剖析
首先,我们先来分析一下源码: frameworks/base/cmds/bootanimation/BootAnimation.cpp 首先看一下定义的常量: BootAnimation::ready ...
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...
- cocos2dx 帧动画的两种创建方式
看了好几天cocos2dx的帧动画,现在才有点眉目,为了高效期间我们一般会用到 精灵帧缓存(CCSpriteFrameCache) 和动画缓存(CCAnimationCache) .大体的操作步骤: ...
- android位移动画的两种实现方式
在android开发,我们会常常使用到位移动画,普通情况下位移动画有两种实现方式.一种是直接通过java代码去实现,第二种是通过配置文件实现动画,以下是两种动画的基本是用法: 纯Java代码实现: / ...
- android旋转动画的两种实现方式
在android开发,我们会常常使用到旋转动画,普通情况下旋转动画有两种实现方式,一种是直接通过java代码去实现,第二种是通过配置文件实现动画.以下是两种动画的基本是用法: 纯Java代码实现: / ...
- 关于Unity的两种调试方法
Unity的两种调试方法 1.Debug.Log()输出语句调试,平时经常用这个 2.把MonoDevelop和Unity进行连接后断点调试 先把编辑器选择为MonoDevelop,Edit----& ...
- angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用
今天我们要讲的是ng2的路由系统. 例子
随机推荐
- SQL Server on Red Hat Enterprise Linux——RHEL上的SQL Server(全截图)
本文从零开始一步一步介绍如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一. 创 ...
- nmon指标
表字段分析 关键指标类型 关键指标名称 关键指标含义 SYS_SUMM CPU% cpu占有率变化情况: IO/sec IO的变化情况: AAA AIX AIX版本号: cpus CPU数量: har ...
- PHP. 03 .ajax传输XML、 ajax传输json、封装
XML简介 XML 指可扩展标记语言 EXtensible Markup Language .射击的时候是用来船体数据的,虽然格式跟HTML类似 xml示例 <?xml version=&quo ...
- jar包和war包
Jar (Java archive), 是将实现了某功能的所有类及辅助资源用ZIP压缩形式打包而成的一个文件, 便于代码的管理和重复使用.当使用别人提供的jar时,只需要在classpath环境变量中 ...
- C语言socket编程——linux环境
先写一个服务器端的监听程序,功能室从客户端读取字符,接收到后告知客户端“I got your message: ”+收到的消息:server.c #include <stdio.h> #i ...
- Unity User Group 北京站:《Unity5.6新功能介绍以及HoloLens开发》
时间一转眼从春天来到了初夏,Unity User Group(以下简称UUG)活动也迎来了第七期.我们面向Unity3D开发从业者以及未来想从事Unity3D开发的学生群体的UUG活动这次仍然在海淀 ...
- day5_ 导入模块和包
######################模块导入模块做的事1.产生新的名称空间2.以新建的名称空间为全局名称空间,执行文件的代码3.拿到一个模块名spam,指向spam.py产生的名称空间 imp ...
- 利用nodeJs来安装less以及编译less文件为css文件
NodeJs 使用nodejs安装less以及编译less文件为css文件 首先下载nodeJs的安装包,按照步骤,安装nodejs. 链接:http://pan.baidu.com/s/1dEsqY ...
- C# 类型基础(中)
前一篇文章中我们讲到了值类型和引用类型的一些区别,那这篇我们将深入的分析一下到底有什么不一样 先总结一下两者的差别: 黄金法则: 1.引用类型总是被分配到托管堆上. 2.值类型总是分配到它声明的地方: ...
- python基础操作_文件读写操作
#文件读写# r只能读不能写,且文件必须存在,w只能写不能读,a只能写不能读# w+是写读模式,清空原文件内容# r+是读写模式,没有清空原文件内容,# 只要有r,文件必须存在,只要有w,都会清空原文 ...