jQuery实现可拖拽3D万花筒旋转特效
网络编程 2021-07-04 19:20www.168986.cn编程入门
本文主要介绍了使用了CSS3立体效果的强大特效,本特效使用jQuery跟CSS3 transform来实现在用户鼠标按下拖动时,环形图片墙可以跟随鼠标进行3D旋转动画。狼蚁网站SEO优化跟着长沙网络推广一起来看下吧
这是一个使用了CSS3立体效果的强大特效,本特效使用jQuery跟CSS3 transform来实现在用户鼠标按下拖动时,环形图片墙可以跟随鼠标进行3D旋转动画。
进去后可以上下左右的拖动图片。
本示例中使用到了CSS3的transform-style 属性,该规定如何在 3D 空间中呈现被嵌套的元素。
默认值 flat
继承性 no
版本 CSS3
JavaScript 语法 object.style.transformStyle="preserve-3d"
有2个属性值可选择
flat 子元素将不保留其 3D 位置。
preserve-3d 子元素将保留其 3D 位置。
示例代码如下
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>jQuery可拖拽3D万花筒旋转特效 - 何问起</title><base target="_blank" /> <style type="text/css"> {margin:0;padding: 0;} .hovertree{ width: 120px; height: 180px; margin: 150px auto 0; position: relative; /transform 旋转元素/ transform-style:preserve-3d; transform:perspective(800px) rotateX(-10deg) rotateY(0deg); } body{background-color: #66677c;} .hovertree img{ position: absolute; width: 100%; height: 100%; border-radius: 5px; box-shadow: 0px 0px 10px #fff; /倒影的设置/ -webkit-box-reflect:below 10px -webkit-linear-gradient(,rgba(0,0,0,0) 50%,rgba(0,0,0,.5) 100%); } .hovertree p{ width: 1200px; height: 1200px; background: -webkit-radial-gradient(center center,600px 600px,rgba(255,255,255,.5),rgba(0,0,0,0)); position: absolute; :100%;left:50%; margin-: -600px; margin-left: -600px; border-radius:600px; transform:rotateX(90deg); } .hewenqi{position:absolute;z-index:99;} a{color:blue;} </style> </head> <body> <div class="hovertree"> <img src="http://hovertree./texiao/css/14/hovertreepic/01.jpg"/> <img src="http://hovertree./texiao/css/14/hovertreepic/02.jpg" /> <img src="http://cms.hovertree./hvtimg/201511/9rour12a.jpg"/> <img src="http://hovertree./texiao/css/14/hovertreepic/04.jpg"/> <img src="http://hovertree./texiao/css/14/hovertreepic/05.jpg"/> <img src="http://hovertree./texiao/css/14/hovertreepic/06.jpg"/> <img src="http://hovertree./texiao/css/14/hovertreepic/07.jpg"/> <img src="http://hovertree./texiao/css/14/hovertreepic/08.jpg"/> <img src="http://hovertree./hvtimg/201511/6j9j6tk5.png"/> <img src="http://cms.hovertree./hvtimg/201512/wfevf6yh.jpg"/> <p></p> </div> <script src="http://down.hovertree./jquery/jquery-1.11.0.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function(){ var imgL=$(".hovertree img").size(); var deg=360/imgL; var roY=0,roX=-10; var xN=0,yN=0; var play=null; $(".hovertree img").each(function (i) { $(this).css({ //<!--translateZ 定义2d旋转沿着z轴--> "transform":"rotateY("+ideg+"deg) translateZ(300px)" }); //<!--防止图片被拖拽--> $(this).attr('ondragstart','return false'); }); $(document).mousedown(function(ev){ var x_=ev.clientX; var y_=ev.clientY; clearInterval(play); console.log('我按下了'); $(this).bind('mousemove',function(ev){ /获取当前鼠标的坐标/ var x=ev.clientX; var y=ev.clientY; /两次坐标之间的距离/ xN=x-x_; yN=y-y_; roY+=xN0.2; roX-=yN0.1; console.log('移动'); //$('body').append('<div style="width:5px;height:5px;position:absolute;:'+y+'px;left:'+x+'px;background-color:red"></div>'); $('.hovertree').css({ transform:'perspective(800px) rotateX('+roX+'deg) rotateY('+roY+'deg)' }); /之前的鼠标坐标/ 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+=xN0.2; roX-=yN0.1; $('.hovertree').css({ transform:'perspective(800px) rotateX('+roX+'deg) rotateY('+roY+'deg)' }); },30); }); }); </script> <div style="text-align:center;margin:250px 0; font:normal 14px/24px 'MicroSoft YaHei';"> <p class="hewenqi">来源<a href="http://hovertree./">何问起</a> <a href="http://hovertree./h/bjag/5x3kdw0k.htm">说明</a></p> </div> </body> </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望多多支持狼蚁SEO!
上一篇:jquery实现下拉框多选方法介绍
下一篇:详解JavaScript常量定义
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指