手机版

原生射流研究…实现逼真的图片三维(三维的缩写)旋转效果详解

时间:2021-08-27 来源:互联网 编辑:宝哥软件园 浏览:

本文实例讲述了原生射流研究…实现逼真的图片三维(三维的缩写)旋转效果。分享给大家供大家参考,具体如下:

实现效果:

实现过程:

步骤一:先写一个简单的超文本标记语言结构,创建一个包厢盒子,里面放对应的图片(也可以用射流研究…创建图片,这里为了好理解,我们直接用超文本标记语言创建).

bodydiv类='box' img src='http:/img/1。jpg ' alt=' ' img src=' http :/img/2。jpg ' alt=' ' img src=' http :/img/3。jpg ' alt=' ' img src=' http :/img/4。jpg ' alt=' ' img src=' http :/img/5。jpg ' alt=' ' img src=' http :/img/6。jpg ' alt=' ' img src=' http :/img/7。jpg ' alt=' ' img src=' http :/img/8。jpg ' alt=' ' img src=' http :/img/9。jpg ' alt=' ' img src=' http :/img/10jpg ' alt=' ' img src=' http :/img/11jpg ' alt=' ' img src=' http :/img/12.jpg' alt=''/div步骤二:给盒子和图片,设置对应的样式

样式* { margin : 0;padd : 0;}正文{底色: # 000;/*飞越:隐藏;*/} # box { width :133 px;高度: 200像素;余量: 200像素汽车;位置:相对;border: 1px实心# fffttransform-style : preserve-3d;/*2 .转换风格属性指定嵌套元素是在三维空间中呈现。(使用此属性必须先使用改变属性)*//*透视图:800 px*//*3.设置透视距离*/transform :透视(800 px)Rotatex(-15)Rotatey(0);deg);} # box img {位置:绝对值;top :0 left : 0;宽度: 100%;高度: 100%;边界半径: 3px箱形阴影: 0px 0px 5px # fff/*4.设置图片阴影*//*-webkit-box-reflect:低于15px-web kit-线性-渐变(顶部,rgba(0,0,0,0) 40%,rgba(0,0,0,5)100%);*//*-网络套件-盒子8px下反射:-网络套件-线性-渐变(顶部,rgba(0,0,0,0)40%,rgba(0,0,0,5)100%);*/-网络套件-盒子10px下反射:-网络套件-线性-渐变(透明,透明50%,rgba(0,0,0,6));/*5.设置图片倒影:直接记住吧(3个值。1.方向定义方向,取值包括上方、下方、左侧、右侧。);2.抵消定义反射偏移的距离;3 .蒙版盒图像定义遮罩图像,该图像将覆盖投影区域。如果省略该参数值,则默认为无遮罩图像*/}/样式第三步:js

脚本////js动态添加11个图片标签////创建11个图片标签的办法//var box=文档。getelementbyid(' box ');//for(var I=1;i=11i ){//有多少张图就循环多少次//var imgs=文档。创建元素(' img ');//imgs.setAttribute('src ',' img/' i ' .jpg’);//框。append child(imgs);} //当页面加载完毕后再执行代码window.onload=function () { //1 .获取元素var oWrap=document。getelementbyid(' box ');var oImg=oWrap.children//var oImgLen=oImg。长度;var deg=360/oimg。长度;//3.每个需要旋转的度数//定义一个开始的度数var RoX=-10;var ROy=0;var x,y,x_,y_,xN,yN,time=null//2。遍历所有的图片标签for(var I=0;ioImg.lengthI){//oImg[I]。风格。CSS text=' transform : rotatey '(I * deg ' deg)translate ez(350 px);transit :1s’(oImgLen-I)* 0.1s;oImg[I]。风格。transform=' rotateY(' I * deg ' deg)translate ez(350 px)';oImg[I]。风格。跃迁='全1 '(oImg。长度-I-1)* 0.1 ' s ';//transit :设置过渡oImg[i].ondragstart=function(){ return false;} } //3.事件处理文件。onmousedown=function(e){ clearInterval(time);' e=e | | window . eventx _=e . clientxy _=e.clientY//控制台. log('鼠标按下了)这个。onmousemove=function(e){ e=e | | window。事件;//获取滚动的X和Y轴//client:鼠标触发点相对于页面可视区域左上角距离x=e . clientxy=e.clientY//两点之间的差值:第一次走的时候两值相等,第二次走的时候x已经更新,但x_没更新,所以两个差值就是xN;xN=x-x _;yN=y-y _;//差值拼接到旋转的Y里面去roY=xN * 0.2//水平拖影响Y轴;roX-=Yn * 0.2;欧拉普。风格。transform='透视(800 px)Rotatex(' RoX ' deg)Rotatey(' RoY ' deg)';//var Odiv=document。create element(' div ');//这个。尸体。appendchild(Odiv);//OdiV。风格。CSS文本=' width :5 px高度:5px背景:红色;位置:绝对;left : ' x ' pxtop : ' y ' pxx _=e . clientxy _=e . clienty }这。onmouseup=function(){//console。日志('鼠标抬起了)this.onmousemove=null//设置一个定时器,实现后面惯性效果8时间=setInterval(函数(){ //无限乘以零点95它会接近0的状态xN *=0.95yN *=0.95//当它小到0.1时停止计时器if(数学。ABS(xN)0.1数学。ABS(Yn)0.1){//数学。ABS()是返回绝对值clearInterval(时间);} //差值拼接到旋转的Y里面去roY=xN * 0.2//水平拖影响Y轴;roX-=Yn * 0.2;欧拉普。风格。transform='透视(800 px)Rotatex(' RoX ' deg)Rotatey(' RoY ' deg)';},30) } } } /script附件:完整版代码

!DOCTYPE html html lang=' en ' onselectstart=' return false;'head meta charset=' UTF-8 ' title title/title style * { margin 3360 0;padd : 0;}正文{底色: # 000;} # box { width:133px高度: 200像素;余量: 100像素自动;位置:相对;/* border: 1px实心# fff测试用到*/transform-style : preserve-3d;/*2 .转换风格属性指定嵌套元素是在三维空间中呈现。(使用此属性必须先使用改变属性)*//*透视图:800 px*//*3.设置透视距离*/transform :透视(800 px)Rotatex(-15)Rotatey(0);} # box img {位置:绝对值;top :0 left : 0;宽度: 100%;高度: 100%;边界半径: 3px箱形阴影: 0px 0px 5px # fff/*4.设置图片阴影*/-网络套件-盒子10px下反射:-网络套件-线性-渐变(透明,透明50%,rgba(0,0,0,6));/*方法2-网络套件-盒子8px下反射:-网络套件-线性-渐变(顶部,rgba(0,0,0,0)40%,rgba(0,0,0,5)100%);*//*5.设置图片倒影:直接记住吧(3个值。1.方向定义方向,取值包括上方、下方、左侧、右侧。);2.抵消定义反射偏移的距离;3 .蒙版盒图像定义遮罩图像,该图像将覆盖投影区域。如果省略该参数值,则默认为无遮罩图像。

*/}/style/head body div id=' box ' img src=' http 3360 ./img/1。jpg ' img src=' http 3360 ./img/2。jpg ' img src=' http 3360 ./img/3。jpg ' img src=' http 3360 ./img/4。jpg ' img src=' http 3360 ./img/5。jpg ' img src=' http 3360 ./img/6。jpg ' img src=' http 3360 ./img/7。jpg ' img src=' http 3330 ' ./img/8。jpg ' img src=' http 3360 ./img/9。jpg ' img src=' http 3330 ' ./img/10jpg ' img src=' http 3330 ' ./img/11jpg ' img src=' http 3360 ./img/12。jpg '/脚本div/////js吴经盛说11云娥img-什么-什么////哼哼哼11云娥img-什么君晴//var box=文档。获取元素byid(' box ');//for(var I=1);i=11(i ){//云娥与云娥同在//var img=文档。创建元素(' img ')://img。setattribute(' src ',' img/' i).jpg’);//框。追加子级(img);} //不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不window.onload=function () { //1 .范儿var owrap=document。getelement byid(' box ');var oimg=owrap。children//var oimglen=oimg。长度;var deg=360/oimg。长度;//3 .范龙威,范龙威//是朱庇特吗var rox=-10;var roY=0:var x、y、x_、y_、xN、yN、time=null//2。嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨嗨img-什么-什么S7-1200可编程控制器:ioimg。长度(I){//oimg[I]。风格。CSS text=' transform 3330 rotate(' I * deg ')translate(350 px);过渡33361s '(oimglen-I)* 0.1s;";oimg[I]。风格。变换='旋转ey '(I * deg ')平移(350像素)”。oimg[I]。风格。跃迁='全1 '(oimg。长度-I-1)* 0.1 ';//过渡3330胡志明(音译)国际原子能机构[i].ondragstart=function(){ 0返回false} //3 .二姐文件。onoe down=function(e){ clear interval(时间);e=e | |窗口。eventx_=e。客户端x:y_=e。客户端://console.log('阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金)这个。onmoemove=函数(e){ e=e | | window。事件;//阿巧x个你好然后呢-你好//3330客户端你是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说x=e。客户x:y=e。客户端://我是说,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是:-你好-你好,鲁仲尼鲁仲尼x个吴经熊,魏冄x_吴经熊,拜占庭拜占庭拜占庭xn;xn=x-x _;y-y _;//-你好-你好然后呢朱庇翁(伊朗伊斯兰共和国)罗伊=xn * 0.2//1790年然后呢-你好;rox-=yn * 0.2;欧拉普。风格。transform=' perspective(800 px)' rotate ex(' rox ' deg)' rotate ey(' Roy ' deg ');//var odiv=document。创建元素(' div ')://this。尸体。append child(odiv);//odiv。风格。csstext=' width 33635 px高度:5 px:红色背景;位置:绝对;左: ' x ' pxtop : ' y ' px贺盛瑞?贺盛瑞x_=e。客户端x:y_=e。客户端:}这个。onmouseup=function(){//console。日志()武则天)这个。onmosemove=null//云娥,是吴亚玲8 time=set interval(function(){//阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔阿叔95是阿云0阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金阿金xn *=0.95yn *=0.95//云娥0.1版阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥阿云哥if(数学。ABS(xn)0.1数学。ABS(yn)0.1){//数学。ABS()谢赫谢赫谢赫谢赫谢赫谢赫clearInterval(时间):} //-你好-你好然后呢朱庇翁(伊朗伊斯兰共和国)罗伊=xn * 0.2//1790年然后呢-你好;rox-=yn * 0.2;欧拉普。风格。transform=' perspective(800 px)' rotate ex(' rox ' deg)' rotate ey(' Roy ' deg ');},30)} }/脚本/正文/html郑智勇(音译)JavaScript(JavaScript)范仲淹把你的手从我的手里拿开,把你的手从我的手里拿开,把你的手从我的手里拿开,把你的手从我的手里拿开,把你的手从我的手里拿开,把你的手从我的手里拿开,把你的手从我的手里拿开,把你的手从我的手里拿开:《JavaScript动画特效与技巧汇总》?《JavaScript页面元素操作技巧总结》?《JavaScript运动效果与技巧汇总》?《JavaScript图形绘制技巧总结》?《JavaScript切换特效与技巧总结》?《JavaScript错误与调试技巧总结》你好《JavaScript数据结构与算法技巧总结》

希望本文对JavaScript编程有所帮助。

版权声明:原生射流研究…实现逼真的图片三维(三维的缩写)旋转效果详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。