我的前面一张文章实现了用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.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>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
js,css3,旋转效果
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。