当前位置:首页 > 日记 > 正文

js+css3实现旋转效果

js+css3实现旋转效果

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

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

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

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

window.onload=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了<br><span style="color: #ff0000">注意点:1.因为如果不添加css3的过渡属性的话,旋转的时候是会有种卡顿效果的,就是旋转的时候不顺畅,所以我这里添加了transition属性,让他转动起来的时候看起来顺畅的.<br>    2.transform-origin的值如果为0 0的时候,是绕着原点旋转的,50% 50%的时候就是绕着中心点旋转的.不过默认的时候就是绕着中心点旋转的<br></span>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

相关文章

webpack3之loader全解析

webpack3之loader全解析

电脑软件,loader,首先亮出webpack官方网站,webpack能干什么?官网给出的答案就是,一句话,让一切变得简单!各式各样的loader层出不穷,让我们在构建时不知所措,于此,总结下loader的全解析。概念loader,顾名思义,加载器,英文的解释如下:Loaders are transfo…

QQ空间打不开的解决方法有哪些

QQ空间打不开的解决方法有哪些

解决方法,空间,打不开,有哪些,电脑软件,  QQ空间是腾讯公司出品的个性空间,用户群很广,很多网友在使用时会遇到QQ空间打不开的问题,qq空间进不去是什么原因?怎么解决?下面小编就为大家介绍一下QQ空间打不开的解决方法,一起来看看吧!QQ空间…

Excel表格中怎么突出凸显查询到的

Excel表格中怎么突出凸显查询到的

查询,数据,表格,电脑软件,行数,  凸显查询到的数据行,用好可以达到防止串行的作用。特别对于Excel数据源非常多,核对的时候容易看错行,看花眼的时候拿出来应对一下。以下是小编为您带来的关于Excel突出凸显查询到的数据行,希望对您有所帮助。…

JS高仿抛物线加入购物车特效实现代

JS高仿抛物线加入购物车特效实现代

抛物线,购物车,特效,代码,电脑软件,1. 简介要想让你的购物车有种高大上的感觉,加入特效的功能是必不可少的。2. 实现思路 设置一些简单的样式 模拟把它添加到购物车中,数量增加 从点击的位置开始动画,结束动画 3. 代码实现CSS代码咱们给它…

Bootstrap Table 删除和批量删除

Bootstrap Table 删除和批量删除

批量删除,删除,电脑软件,Bootstrap,Table,一条记录可以看做一条数据的数组1 Html1.1 批量选择框1.2 单个删除2 bootStarp2.1 批量获得获得选择的数据//批量删除 function deleteUserList() { //获取所有被选中的记录 var …

[js高手之路]寄生组合式继承的优势

[js高手之路]寄生组合式继承的优势

继承,之路,详解,组合式,优势,在之前javascript面向对象系列的文章里面,我们已经探讨了组合继承和寄生继承,回顾下组合继承:function Person( uName ){ this.skills = [ 'php', 'javascript' ]; this.userName = uName; } …

word2016文档如何能够批量保存

word2016文档如何能够批量保存

文档,保存图片,批量,电脑软件,  word中有很多图片,一个一个的保存下来很费时间,那么word2016怎么批量保存图片。以下是小编为您带来的关于word2016文档批量保存图片,希望对您有所帮助。word2016文档批量保存图片打开word文档之后,点击命令栏…

PS中隐藏的小技巧:移动和缩放的使

PS中隐藏的小技巧:移动和缩放的使

缩放,小技巧,使用技巧,详解,电脑软件,设计师的每一天基本都在和PS打交道,然而你真正了解过PS中隐藏的小技巧吗?总有你不知道一些小技巧,这些技巧可极大的提升你的工作效率,下面一起来学习吧。适用对象:童叟无欺、老少皆宜有任何疑问,可留言交流1…

powerpoint幻灯片无法全屏播放怎么

powerpoint幻灯片无法全屏播放怎么

全屏,方法,幻灯片,电脑软件,powerpoint,  我们在使用ppt的时候,偶尔会出现不能全屏放映的问题,对于这样的问题,我们应该如何解决呢?下面就让小编告诉你如何解决ppt不能全屏放映问题,希望小编收集的资料对大家有帮助?解决ppt不能全屏放映问题…

React-Native 组件之 Modal的使用

React-Native 组件之 Modal的使用

组件,详解,电脑软件,React,Native,Modal组件可以用来覆盖包含React Native根视图的原生视图(如UIViewController,Activity),用它可以实现遮罩的效果。属性Modal提供的属性有:animationType(动画类型) PropTypes.oneOf([‘none', ‘slide', ‘fad…

PS怎么使用滤镜给制作油画效果?

PS怎么使用滤镜给制作油画效果?

滤镜,效果,电脑软件,PS,在使用图像处理软件Photoshop时,新学者有时制作一张油画效果的图片。那么,PS中如何对图片如何制作出油画效果?作为制作出油画效果操作实例,这里用一张卡通风景的图片进行油画效果的制作。参考以下几个步骤。就很快可以在…

wps中怎么取消只读模式教程

wps中怎么取消只读模式教程

只读,取消,模式,教程,方法,  我们都知道可以在wps文字中设置文档为只读模式,如果我们想取消只读模式,应该怎样取消呢?对于新手来说还是有一定难度,怎么办?下面就让小编告诉你在wps文字中怎样取消只读模式的方法,希望对大家有所帮助。wps取消…