css和js实现3d图片,JavaScript_纯JS实现旋转图片3D展示效果,CSS: <style type="text/css"&gt - 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" />

1
2
3
4
5
6
7
8
9
0
a
b
1
2
3

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浏览器扩展官网曝光

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值