jQuery和CSS3带倒影的3D万花筒旋转动画特效

插件介绍
这是一款使用jQuery和CSS3来制作的炫酷的带倒影的3D万花筒旋转动画特效。该3D万花筒特效通过简单的CSS transform和jquery代码来实现在用户鼠标按下时,万花筒图片可以跟随鼠标进行3D旋转动画。

使用方法

在页面底部,标签结束之前,引入jquery文件。

HTML结构
该3D万花筒旋转动画特效的基本HTML结构如下:
<div class=”pic”>
<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=”” />
</div>

CSS样式
设置全局样式如下:
*{margin:0;padding: 0;}
body{background-color: #000;overflow:hidden;}

为3D万花筒容器元素.pic设置固定的宽度和高度,然后通过transform属性来依次设置透视效果perspective为800像素,绕X轴旋转rotateX()-10度,绕Y轴旋转rotateY()0度。
.pic{
width: 120px;
height: 180px;
margin: 150px auto 0;
position: relative;
/*transform 旋转元素*/
transform-style:preserve-3d;
transform:perspective(800px) rotateX(-10deg) rotateY(0deg);
}

然后为每一张图片设置box-shadow阴影效果,以及使用-webkit-box-reflect属性来制作阴影效果。
.pic img{
position: absolute;
width: 100%;
height: 100%;
border-radius: 5px;
box-shadow: 0px 0px 10px #fff;
/*倒影的设置*/
-webkit-box-reflect:below 10px -webkit-linear-gradient(top,rgba(0,0,0,0) 50%,rgba(0,0,0,.5) 100%);
}

容器中空的元素用于制作一个椭圆形渐变效果。
.pic 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;
top:100%;left:50%;
margin-top: -600px;
margin-left: -600px;
border-radius:600px;
transform:rotateX(90deg);
}

JavaScript
在页面DOM元素加载完毕之后,使用下面的方法来初始化该3D万花筒特效。
$(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({

“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(‘移动’);

$(‘.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) clearInterval(play);
}
roY+=xN*0.2;
roX-=yN*0.1;
$(‘.pic’).css({
transform:’perspective(800px) rotateX(‘+roX+’deg) rotateY(‘+roY+’deg)’
});
},30);
});
});

在线预览 网盘下载

网盘下载密码:7twz

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论