html万花筒图片轮播代码,jQuery实现可拖拽3D万花筒旋转特效
這是一個使用了CSS3立體效果的強大特效,本特效使用jQuery跟CSS3 transform來實現(xiàn)在用戶鼠標按下拖動時,環(huán)形圖片墻可以跟隨鼠標進行3D旋轉動畫。
進去后可以上下左右的拖動圖片。
本示例中使用到了CSS3的transform-style 屬性,該規(guī)定如何在 3D 空間中呈現(xiàn)被嵌套的元素。
默認值:?flat
繼承性:?no
版本:?CSS3
JavaScript 語法:?object.style.transformStyle="preserve-3d"
有2個屬性值可選擇:
flat?子元素將不保留其 3D 位置。
preserve-3d?子元素將保留其 3D 位置。
示例代碼如下:
jQuery可拖拽3D萬花筒旋轉特效 - 何問起*{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(top,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;
top:100%;left:50%;
margin-top: -600px;
margin-left: -600px;
border-radius:600px;
transform:rotateX(90deg);
}
.hewenqi{position:absolute;z-index:99;}
a{color:blue;}
$(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({
//
"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('
$('.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+=xN*0.2;
roX-=yN*0.1;
$('.hovertree').css({
transform:'perspective(800px) rotateX('+roX+'deg) rotateY('+roY+'deg)'
});
},30);
});
});
來源:何問起 說明
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
總結
以上是生活随笔為你收集整理的html万花筒图片轮播代码,jQuery实现可拖拽3D万花筒旋转特效的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据挖掘(一)A-Priori
- 下一篇: 教育培训行业的SOP