js实现3D旋转相册
网络编程 2021-07-04 14:06www.168986.cn编程入门
这篇文章主要为大家详细介绍了js实现3D旋转相册,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了js实现3D旋转相册的具体代码,供大家参考,具体内容如下
效果展示
使用图片
剩余自己随意 图片大小为133200
代码展示
<!DOCTYPE html> <!--设置图片的拖拽事件 不可用--> <html lang="en" ondragstart="return false"> <head> <meta charset="UTF-8"> <title>3D效果</title> <style> { background-color: #000; } .container { border: 1px solid yellow; perspective: 800px; overflow: hidden; } .box { position: relative; border: 1px solid #f00; width: 133px; height: 200px; margin: 300px auto; transform-style: preserve-3d; transform:rotateX(-20deg) rotateY(0deg); } img { position: absolute; /设置图片倒影效果/ -webkit-box-reflect:below 5px -webkit-gradient(linear,left , left bottom,from( transparent),color-s(40%,transparent),to(rgba(250,250,250,0.4))); } </style> </head> <body> <div class="container"> <div class="box"> <img src="img/1.jpg" alt=""> <img src="img/2.jpg" alt=""> <img src="img/3.jpg" alt=""> <img src="img/4.jpg" alt=""> <img src="img/5.jpg" alt=""> <img src="img/6.jpg" alt=""> <img src="img/7.jpg" alt=""> <img src="img/8.jpg" alt=""> <img src="img/9.jpg" alt=""> <img src="img/10.jpg" alt=""> <img src="img/11.jpg" alt=""> </div> </div> <script> // a 获取所有 img 元素 var mimg = document.querySelectorAll("img"); var mlength = mimg.length; // 动态获取 图片的旋转角度 var mdeg = 360/mlength; //获取box 容器 var mbox = document.querySelector(".box"); /页面加载后执行。。效果/ window.onload= function () { // 1 图片旋转动画 for(var i = 0;i<mlength;i++){ // console.log(mimg); //每张图片 1 60 2 120 3 180 4 240 60为图片的平分角 mimg[i].style.transform = "rotateY("+(mdegi)+"deg) translateZ(350px)"; // 添加过渡效果 动画执行多长时间 多久后开始执行动画 此时的效果 从一张开始动画 // console.log(mlength-i); mimg[i].style.transition = "1s "+(mlength-i)0.1+"s"; // 0.1 动画调节 //从第一张开始动画 // mimg[i].style.transition = "1s "+i+"s"; } // 获取鼠标点的位置 获取 差值 改变 转换的rotate x y var newX,newY,lastX,lastY,cvalueX,cvalueY, rotX=-20,rotY=0; // 鼠标滑动后改变效果 (使用鼠标 按下 替换点击事件) document.onmousedown = function (e) { // 鼠标点击 // console.log("点击"); lastX = e.clientX; lastY = e.clientY; // 鼠标移动 this.onmousemove = function (e) { // console.log("移动"); newX = e.clientX; newY = e.clientY; console.log(newX +" "+newY); //获取移动的差值 cvalueX = newX-lastX; cvalueY = newY-lastY; //获取旋转的角度 rotX -= cvalueY; /因为要向前运动所以是负值/ rotY += cvalueX; // 将角度添加上 img容器 mbox.style.transform = "rotateX("+rotX0.1+"deg) rotateY("+rotY0.1+"deg)" // 差值太大(转动太快) 调节每次的差值是和上一次差 而不是之前差(初始值的差) lastX = newX; lastY = newY; } // 鼠标抬起 this.onmouseup = function () { // console.log("抬起"); // 要停止移动的方法 this.onmousemove = null; } } } </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
上一篇:js+canvas实现五子棋小游戏
下一篇:js实现双色球效果
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程