博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js+css3实现旋转效果
阅读量:5117 次
发布时间:2019-06-13

本文共 1861 字,大约阅读时间需要 6 分钟。

我的前面一张文章实现了用css3制作旋转的效果,现在呢,我换另外一种方法来实现.就是使用js结合css3的方法来实现的.下面我就先上图给大家看看效果吧

下面呢我先放上我的css代码,代码很简单:

.one{
width:200px;height: 200px;border:1px solid #adadad;transition:all 0.1s;border-radius:50%;background:url(images/1.jpg) no-repeat center center;background-size:cover;margin:50px auto;}

上面的代码大家都看得懂,我就不介绍了.我重点讲的是js的代码部分.

window.οnlοad=function(){		var div=document.getElementsByClassName("one")[0];		console.log(div);		setCss3(div,{transform:"rotate(10deg)","transform-origin":"50% 50%"})		var angel=0;		setInterval(function(){			angel+=8;			setCss3(div,{transform:"rotate("+angel+"deg)","transform-origin":"0 0"})		},30)		function setCss3(obj,objAttr){			//循环属性对象			for(var i in objAttr){				var newi=i;				//判断是否存在transform-origin这样格式的属性				if(newi.indexOf("-")>0){					var num=newi.indexOf("-");					newi=newi.replace(newi.substr(num,2),newi.substr(num+1,1).toUpperCase());				}				//考虑到css3的兼容性问题,所以这些属性都必须加前缀才行				obj.style[newi]=objAttr[i];				newi=newi.replace(newi.charAt(0),newi.charAt(0).toUpperCase());				obj.style[newi]=objAttr[i];				obj.style["webkit"+newi]=objAttr[i];				obj.style["moz"+newi]=objAttr[i];				obj.style["o"+newi]=objAttr[i];				obj.style["ms"+newi]=objAttr[i];			}		}	}

我在这就把相对的难点讲一下:

if(newi.indexOf("-")>0){                    var num=newi.indexOf("-");                    newi=newi.replace(newi.substr(num,2),newi.substr(num,2).toUpperCase());                }
newi=newi.replace(newi.substr(num,2),newi.substr(num,2).toUpperCase());这一句代码其实就是把首字母转成是大写的(
{transform:"rotate(10deg)","transform-origin":"0 0"))
因为在js中修改样式的时候,是不存在-webkit-transformz这样的格式的,两个单词之间的"-"是必须要省略掉的,换成第二个单词的字母为大写.所以主要就是把这个处理好了之后久ok了 注意点:1.因为如果不添加css3的过渡属性的话,旋转的时候是会有种卡顿效果的,就是旋转的时候不顺畅,所以我这里添加了transition属性,让他转动起来的时候看起来顺畅的.     2.transform-origin的值如果为0 0的时候,是绕着原点旋转的,50% 50%的时候就是绕着中心点旋转的.不过默认的时候就是绕着中心点旋转的

转载于:https://www.cnblogs.com/cythia/p/6322124.html

你可能感兴趣的文章
一句话说清分布式锁,进程锁,线程锁
查看>>
python常用函数
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
【工具相关】iOS-Reveal的使用
查看>>
数据库3
查看>>
存储分类
查看>>
下一代操作系统与软件
查看>>
【iOS越狱开发】如何将应用打包成.ipa文件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Yii2 Lesson - 03 Forms in Yii
查看>>
Python IO模型
查看>>
Ugly Windows
查看>>
DataGridView的行的字体颜色变化
查看>>
Java再学习——关于ConcurrentHashMap
查看>>
如何处理Win10电脑黑屏后出现代码0xc0000225的错误?
查看>>
局域网内手机访问电脑网站注意几点
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Day19内容回顾
查看>>