js 控制 css3高级运动 keyframes

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <script>
 7             window.onload=function(){
 8                 var arr=[-45,60,-75,90];
 9                 var i=0;
10                 box.onclick=function(){
11                 var ready=false;
12                 i++;
13                 var oH=document.getElementsByTagName(‘head‘)[0];
14                 var oS=document.createElement(‘style‘);
15                 oH.appendChild(oS);
16                   oS.innerHTML=
17                     ‘@keyframes rotate{‘+
18                     ‘0%{‘+
19                     ‘transform: rotate(‘+arr[i%4]+‘deg);‘+
20                     ‘}‘+
21                     ‘100%{‘+
22                     ‘transform: rotate(-‘+arr[i%4]+‘deg);‘+
23                     ‘}‘+
24                     ‘}‘;
25                 box.style.animation=‘1s rotate linear‘;
26                 box.addEventListener(‘animationend‘,function(){
27                     if(ready)return;
28                     ready=true;
29                     document.getElementsByTagName(‘head‘)[0].removeChild(oS);
30                 },false);
31                 console.log(oS.innerHTML);
32                 };
33
34             };
35     </script>
36 </head>
37 <body>
38     <div id="box" style="background:red; width:100px; height:100px; margin:50px auto;"></div>
39 </body>
40 </html>
时间: 2024-10-27 05:39:02

js 控制 css3高级运动 keyframes的相关文章

css3高级运动keyframes

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> window.onload=function(){ var arr=[-45,60,-75,90]; var i=0; box.onclick=function(){ var ready=fal

JS控制CSS3,添加浏览器兼容前缀

不同浏览器对于有些css3属性名字定义的时候,会带上特有的前缀,所以在css编写的时候,经常会一个属性写多个不同的前缀进行兼容.比如: div { transform: rotate(30deg); -ms-transform: rotate(30deg); /* IE 9 */ -webkit-transform: rotate(30deg); /* Safari and Chrome */ -o-transform: rotate(30deg); /* Opera */ -moz-trans

用js控制css动画效果@keyframes

今天看到一个css动画样式,然后打算封装一个这个css样式. 我用的react组件,然后map了我要的全部盒子 遇到了困难,我打印e和this,都没有我想用的东西. 持续性困惑. 陷入沉思和沉睡. 然后不停打印refs... 天啊,我在干什么.我执着地寻找style... 我在return的盒子里加了一个style,然后打印了style,的确可以改变css属性 我突然意识到,我需要打印更原始,或者说更底层的一些东西 于是我开始打印window和document,笨蛋啊,操作dom啊 我打印了do

js、css3实现图片的放大效果

今天看网易的网站上,当我把鼠标放上去的时候发现图片放大,移开图片缩小,于是自行尝试,结果如下. 方法一:使用js和css3 效果如图: 这样的实现非常简单,就是利用js的mouseover和 mouseout事件,但是不知道如何使图片从中间放大,日后再行尝试吧,代码如下: <!DOCTYPE html> <html> <head> <title>网易图片动画</title> <style> div.img { width: 220px

如何使用js捕获css3动画

如何使用js捕获css3动画 css3动画功能强大,但是不像js,没有逐帧控制,但是可以通过js事件来确定任何动画的状态. 下面是一段css3动画代码: #anim.enable{ -webkit-animation: flash 1s ease 3; -moz-animation: flash 1s ease 3; -ms-animation: flash 1s ease 3; -o-animation: flash 1s ease 3; animation: flash 1s ease 3;

如何方便的控制css3动画开始时间点与持续时间

一般我们在控制css3 animate动画时可以通过简写以减少代码量,只要在需要动画的元素上追加一下类名就可以了,如下例子 /*淡入并向上移动一点位置出现*/ .fadeInUp{ -webkit-animation:fadeInUp 1000ms .8s ease both; } @-webkit-keyframes fadeInUp { 0% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20

JS控制伪元素的方法汇总

转载自:http://www.jb51.net/article/81984.htm 一. 缘由: 本文源于在OSC社区中,有人提问如何用jq获取伪元素.我第一想法是强大的CSS Query应该可以获取伪元素吧. 然而事实上,CSS Query并不能.即我们不能通过$(":before").$(dom).find(":before")或document.querySelector(":before")来获取:before伪元素. 为此,我不得不重新

js和CSS3炫酷3D相册展示

<!doctype html> <html> <head> <meta charset="UTF"> <title>js和CSS3炫酷3D相册展示</title> <style> *{margin:0;padding:0;} body{background:url(img/bg.jpg);width:100%;height:100%;overflow:hidden;}; h1{width:277;hei

在IE中使用CSS3高级选择器

CSS3高级选择器确实很强大,可以显著简化html代码,大幅提升CSS的可读性.IE9以下的IE浏览器是不支持CSS3高级选择器,但是有额外的方法可以使IE6-IE8浏览器也能使用CSS高级选择器. 需要先下载两个文件: domassistant.js    http://www.domassistant.com/ selectivizr.js    http://selectivizr.com/ 使用方法: 在head标签之间或者body标签之后导入这两个文件就可以了 <!--[if IE]>