jquery+css3实现3d滚动旋转
最近有个漂亮妹子一直在向我推销潭州的视频,BUT我以前就看了一次觉得挺水的,就对那个妹子表示吾孤高。你们那玩意没意义的很弱。然后那个漂亮妹子锲而不舍的对我发链接,这个效果会吗,这个幻灯会写吗。。。我也是醉了。。。直到有一天
那个漂亮妹子也不知道被我的孤高,独孤求败人生寂寞如雪的气质给怒了,拿出了她的必杀技
http://xiaobai.52nhw.com/image/pic.gif
好吧乍一看挺唬人的。。。好吧,我确实被她给唬住了!然后先是加群又是关注的。。。最后搞到一个包。。。
然后你认为07-03就是你想看到的代码了吗。。。太天真了
里面就一个jquery的库和一堆阿猫阿狗的照片
然后老老实实的看视频把,,实际上我是一直在快进。。。。反正最后我快进完了大概的亮点么也就2个。。。还是不罗嗦了上代码
<div class="job"> <div class="jobPicBox"> <div class="JobPicImages">
<img src="image/job/archer.jpg" />
<img src="image/job/assassin.jpg" />
<img src="image/job/avenger.png" />
<img src="image/job/berserker.jpg" />
<img src="image/job/caster.jpg" />
<img src="image/job/lancer.jpg" />
<img src="image/job/rider.jpg" />
<img src="image/job/saber.jpg" />
</div> </div> </div>
HTML么就是建个盒子搞个几张图片
.JobPicImages{ transform-style:preserve-3d; transform:perspective(1000px) rotateX(-10deg) rotateY(0deg); position:relative; width:100px; height:172px; margin:200px auto 0;} .JobPicImages img{ height:100%; width:100%; position:absolute; border-radius:5px; box-shadow:1px 1px 5px #333; -webkit-box-reflect:below 10px -webkit-linear-gradient(transparent,transparent 50%,rgba(0,0,0,1)); outline:none; }
css么又几个亮点了
-webkit-box-reflect:below 10px -webkit-linear-gradient(transparent,transparent 50%,rgba(0,0,0,1));
duang duang duang css3的投影+径向渐变版透明
然后么jquery。。。他都没用js
$(function(){ var JobPic = $(".JobPicImages img").size(); var deg = 360/JobPic; var roy = 0; var rox = -10; var xn = 0; var yn = 0; var play=null $(".JobPicImages img").each(function(i) { $(this).css({'transform':'rotateY(' + deg*i + 'deg) translatez(350px)'}); $(this).attr('ondragstart','return false') }); $(document).mousedown(function(ev){ var x_=ev.clientX; var y_=ev.clientY; clearInterval(play); $(this).bind('mousemove',function(ev){ var x=ev.clientX; var y=ev.clientY; xn = x - x_; yn = y - y_; roy += xn*0.2; rox += yn*0.1; $(".JobPicImages").css({ transform:'perspective(1000px) rotateX(' +rox+'deg) rotateY(' +roy+'deg)' },300) x_=ev.clientX; y_=ev.clientY; }); }).mouseup(function(){ $(this).unbind('mousemove'); var play = setInterval(function(){ xn *=0.95; yn *=0.95; if(Math.abs(xn)<1&&Math.abs(yn)<1){ clearInterval(play); } roy+=xn*0.2; rox-=yn*0.1; $(".JobPicImages").css({ transform:'perspective(1000px) rotateX(' +rox+'deg) rotateY(' +roy+'deg)' },300) }) }) })
。。。最后么js么无非就是记录鼠标按下之后拖动的位置和鼠标抬起记录鼠标的位置,然后做个比较,然后转啊转,好吧实际上也没什么特别亮眼的地方但是效果还是挺有趣的
DEMO:http://www.skt1.cn/备份/job.html
额,写上这一段的时候主要还是不明白,好多点反对是对我的随笔不满还是对我随笔质量的不满。。实际上我更多的把这个博客当成个人动态玩的。。。所以还是比较随意的。。。当然如果觉得写得有问题可以在下方评论写出改进建议。。。我会虚心接受,顺便可以知道自己的不足点。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库