一款可拖拽旋转的炫酷jQuery 3D图片墙特效,图片围绕起来形成一个圆形的图片墙,而且每张图片都带有发光与倒影效果,非常好看的图片展示特效。
js代码
<script src=\"js/jquery-1.11.0.min.js\" type=\"text/javascript\"></script> <script type=\"text/javascript\"> $(function(){ var imgL=$(\".pic img\").size(); var deg=360/imgL; var roY=0,roX=-10; var xN=0,yN=0; var play=null; $(\".pic img\").each(function(i){ $(this).css({ <!--translateZ 定义2d旋转沿着z轴--> \"transform\":\"rotateY(\"+i*deg+\"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+=xN*0.2; roX-=yN*0.1; console.log(\'移动\'); //$(\'body\').append(\'<div style=\"width:5px;height:5px;position:absolute;top:\'+y+\'px;left:\'+x+\'px;background-color:red\"></div>\'); $(\'.pic\').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+=xN*0.2; roX-=yN*0.1; $(\'.pic\').css({ transform:\'perspective(800px) rotateX(\'+roX+\'deg) rotateY(\'+roY+\'deg)\' }); },30); }); }); </script>
暂无评论内容