如何利用JavaScript制作一个酷炫的3D图片
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章将为大家详细讲解有关如何利用JavaScript制作一个酷炫的3D图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、页面特效效果展示注:上述效果图只是部
千家信息网最后更新 2024年11月23日如何利用JavaScript制作一个酷炫的3D图片
这篇文章将为大家详细讲解有关如何利用JavaScript制作一个酷炫的3D图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、页面特效效果展示
注:上述效果图只是部分效果,原谅我还没有学会自制gif图!
二、功能描述
1、打开页面,所有图片会自动转动
2、图片的大小和间隔可随鼠标滚轮滚动而改变
3、鼠标按住页面任意位置,拖动光标,页面可随之旋转
三、功能实现
1.创建一个父容器,将所有照片叠放在一起
代码如下(html):
2.给所有照片加上旋转动画
代码如下(js):
function init(delayTime) { // 给所有的图片加动画 for (var i = 0; i < aEle.length; i++) { aEle[i].style.transform = "rotateY(" + (i * (360 / aEle.length)) + "deg) translateZ(" + radius + "px)" aEle[i].style.transition = "transform 1s" aEle[i].style.transitionDelay = delayTime || (aEle.length - i) / 4 + 's' }}setTimeout(init, 1000)
3.监听鼠标事件
代码如下(js):
// 滚轮滚动// 监听鼠标滚轮事件,该函数不用调用直接生效_document.onmousewheel = function(e){ // console.log(e) e = e || window.event var d = e.wheelDelta / 10 || -e.detail radius += d init(1)} var sX,sY,nX,nY,desX = 0 , desY = 0, tX = 0,tY = 0;// 鼠标拖动页面_document.onpointerdown = function(e){ // console.log(e); e = e || window.event//防止出错,如果e不存在,则让window.event为e var sX = e.clientX, sY = e.clientY //监听鼠标移动函数 this.onpointermove = function(e){ console.log(e); e = e || window.event//防止出错,如果e不存在,则让window.event为e var nX = e.clientX, nY = e.clientY; desX = nX - sX;//在x轴上滑动的距离 desY = nY - sY; tX += desX * 0.1 tY += desY * 0.1 // 让页面跟着鼠标动起来 applyTransform(oDarg) } this.onpointerup = function(e){ //每个多久实现一次setInterval oDarg.timer = setInterval(function(){ desX *= 0.95 desY *= 0.95 tX += desX * 0.1 tY += desY * 0.1 applyTransform(oDarg) playSpin(false) if(Math.abs(desX) < 0.5 && Math.abs(desY) < 0.5){ clearInterval(oDarg.timer) playSpin(true) } },17) this.onpointermove = this.onpointerup = null } return false}function applyTransform(obj){ if(tY > 180)tY = 180 if(tY < 0)tY = 0 obj.style.transform = `rotateX(${-tY}deg) rotateY(${tX}deg)`}function playSpin(yes){ oSpin.style.animationPlayState = (yes ? 'running' : 'paused')}
关于"如何利用JavaScript制作一个酷炫的3D图片"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
鼠标
页面
图片
代码
效果
滚轮
篇文章
监听
制作
事件
函数
功能
动画
更多
照片
不错
实用
不用
位置
光标
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库建立账套失败
pcie通道多的cpu 服务器
云南定制软件开发价格
中教数据库的投稿安全吗
for数据库编程语言
网络安全宣传签字
数据库目录中的db什么意思
苏州濯宽互联网科技有限公司
软件开发应用的合作模式
网络安全与教育的宣传语
数据库文件有哪三类缩写
如何做好顾客数据库
服务器g850cpu可以家用吗
熊猫tv服务器
数据库关系模式闭包
计算机网络技术运维方向
中医药行业数据库建设现状分析
定制网络技术咨询指导
睿智互联网科技
网络安全教育课感受
上海豪庭网络技术有限公司
软件开发 时间 标准
腾讯云服务器怎么上传程序
手机更新数据库后怎么缓存
网络安全法明确企业做什么
小学网络安全宣传周工作会议
计算机网络技术课本内容
三级数据库技术报名地点
有关网络安全的内容文字
洗衣店收银软件开发