100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > css和js实现3d图片 JavaScript_纯JS实现旋转图片3D展示效果 CSS:style type=text/cssgt - phpStudy...

css和js实现3d图片 JavaScript_纯JS实现旋转图片3D展示效果 CSS:style type=text/cssgt - phpStudy...

时间:2023-06-28 22:45:37

相关推荐

css和js实现3d图片 JavaScript_纯JS实现旋转图片3D展示效果 CSS:style type=text/cssgt - phpStudy...

纯JS实现旋转图片3D展示效果

CSS:

#show{position:relative;margin:20px auto;width:800px;}

.item{position:absolute;height:40px;width:60px;background:#999999;border:1px solid #eeeeee;cursor:pointer;}

Html:

input id="l" type="button" value="left" />

1234567890ab123

JS

var len;

var showerObj;

var listObj;

var showerWidth=800;

var showerHeight=400;

var r;

var cR=0;

var ccR=0;

var timer=0;

window.οnlοad=function(){

showerObj=document.getElementById("show");

listObj=showerObj.getElementsByTagName("div");

len=listObj.length;

r=Math.PI/180*360/len;

for(var i=0;i

var item=listObj[i];

item.style.top=showerHeight/2+Math.sin(r*i)*showerWidth/2-20+"px";

item.style.left=showerWidth/2+Math.cos(r*i)*showerWidth/2-30+"px";

item.rotate=(r*i+2*Math.PI)%(2*Math.PI);

item.οnclick=function(){

cR=Math.PI/2-this.rotate;

timer || (timer=setInterval(rotate,10));

}

}

var rX=showerObj.offsetLeft+showerWidth/2;

var ry=showerObj.offsetTop+showerHeight/2;

var rotate=function(){

ccR=(ccR+2*Math.PI)%(2*Math.PI);

if(cR-ccR<0) cR=cR+2*Math.PI;

if(cR-ccR

ccR=ccR+(cR-ccR)/19;

}else{

ccR=ccR-(2*Math.PI+ccR-cR)/19;

}

if(Math.abs((cR+2*Math.PI)%(2*Math.PI)-(ccR+2*Math.PI)%(2*Math.PI))

ccR=cR;

clearInterval(timer);

timer=0;

}

for(var i=0;i

var item=listObj[i];

var w,h;

var sinR=Math.sin(r*i+ccR);

var cosR=Math.cos(r*i+ccR);

w=60+0.6*60*sinR;

h=(40+0.6*40*sinR);

item.style.cssText +=";width:"+w+"px;height:"+h+"px;top:"+parseInt(showerHeight/2+sinR*showerWidth/2/3-w/2)+"px;left:"+parseInt(showerWidth/2+cosR*showerWidth/2-h/2)+"px;z-index:"+parseInt(showerHeight/2+sinR*showerWidth/2/3-w/2)+";";

}

}

document.getElementById("l").οnclick=function(){

cR=(cR+r+2*Math.PI)%(2*Math.PI);

timer || (timer=setInterval(rotate,10));

}

document.getElementById("r").οnclick=function(){

cR=(cR-r+2*Math.PI)%(2*Math.PI);

timer || (timer=setInterval(rotate,10));

}

rotate();

}

以上所述就是本文的全部内容了,希望大家能够喜欢。相关阅读:

MySQL删除数据库的两种方法

Linux中安装sosreport和supportconfig来收集系统信息

PHP面向对象程序设计之接口用法

CSS3 滤镜 webkit-filter详细介绍及使用方法

javascript实现详细时间提醒信息效果的方法

Win7开机自动跳出desktop.ini记事本怎么办?Desktop.ini删除方法

jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码

C#用递归算法解决经典背包问题

android 网络连接处理分析

在CentOS系统中安装SVN版本控制软件的教程

详解HTML中table表格的frame和rules属性

win10自带MSN天气可以设置到到区县地区天气吗?

Linux系统下tar命令的使用技巧总结

Win10 RS1预览版中Edge浏览器扩展官网曝光

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。