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

前端之家收集整理的这篇文章主要介绍了纯JS实现旋转图片3D展示效果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

CSS:

Html:

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.onload=function(){ showerObj=document.getElementById("show"); listObj=showerObj.getElementsByTagName("div"); len=listObj.length; r=Math.PI/180*360/len; for(var i=0;i}

}
var rX=showerObj.offsetLeft+showerWidth/2;
var ry=showerObj.offsetTop+showerHeight/2;

var rotate=function(){
ccR=(ccR+2Math.PI)%(2Math.PI);
if(cR-ccR<0) cR=cR+2Math.PI;
if(cR-ccR<Math.PI){
ccR=ccR+(cR-ccR)/19;
}else{
ccR=ccR-(2
Math.PI+ccR-cR)/19;

}

if(Math.abs((cR+2Math.PI)%(2Math.PI)-(ccR+2Math.PI)%(2Math.PI))<Math.PI/720){
ccR=cR;
clearInterval(timer);
timer=0;
}

for(var i=0;i<len;i++){
var item=listObj[i];
var w,h;
var sinR=Math.sin(ri+ccR);
var cosR=Math.cos(r
i+ccR);
w=60+0.660sinR;
h=(40+0.640sinR);
item.style.cssText +=";width:"+w+"px;height:"+h+"px;top:"+parseInt(showerHeight/2+sinRshowerWidth/2/3-w/2)+"px;left:"+parseInt(showerWidth/2+cosRshowerWidth/2-h/2)+"px;z-index:"+parseInt(showerHeight/2+sinR*showerWidth/2/3-w/2)+";";

}
}

document.getElementById("l").onclick=function(){
cR=(cR+r+2Math.PI)%(2Math.PI);
timer || (timer=setInterval(rotate,10));
}
document.getElementById("r").onclick=function(){
cR=(cR-r+2Math.PI)%(2Math.PI);
timer || (timer=setInterval(rotate,10));
}
rotate();
}

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

猜你在找的JavaScript相关文章