3D相册旋转

*{padding: 0;margin: 0;}

body{
	background-color: #000;
	-webkit-user-select: none;
	overflow: hidden;
}

.stage{
	width: 133px;
	height: 200px;
	position: relative;
	/*border: 1px solid #f66;*/
	margin: 200px auto;
	-webkit-transform-style:preserve-3d ;
	-moz-transform-style:preserve-3d ;
	-ms-transform-style: preserve-3d;
	transform-style:preserve-3d;
	transform: perspective(800px) rotateX(-15deg);
}
.stage img{
	position: absolute;
	display: block;
	/*投影*/
	-webkit-box-reflect:below 10px;
	/*线性渐变*/ 
	-webkit-linear-gradient(top,rgba(0,0,0,0) 50%,rgba(0,0,0,0.7) 100%);
	-webkit-border-radius: 20px;
	-webkit-box-shadow: 0 0 5px #fff;
	
}
/*.stage img:nth-child(1){
	transform: rotateY(0deg) translateZ(300px);
}

.stage img:nth-child(2){
	transform: rotateY(36deg) translateZ(300px);
}
.stage img:nth-child(3){
	transform: rotateY(72deg) translateZ(300px);
}
.stage img:nth-child(4){
	transform: rotateY(108deg) translateZ(300px);
}
.stage img:nth-child(5){
	transform: rotateY(144deg) translateZ(300px);
}
.stage img:nth-child(6){
	transform: rotateY(180deg) translateZ(300px);
}
.stage img:nth-child(7){
	transform: rotateY(216deg) translateZ(300px);
}
.stage img:nth-child(8){
	transform: rotateY(252deg) translateZ(300px);
}
.stage img:nth-child(9){
	transform: rotateY(288deg) translateZ(300px);
}
.stage img:nth-child(10){
	transform: rotateY(324deg) translateZ(300px);
}*/<pre name="code" class="html"><!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/main.css"/>
	</head>
	<body>
		<div class="stage" id="stage">
		<img src="img/1.jpg"/>
		<img src="img/2.jpg"/>
		<img src="img/3.jpg"/>
		<img src="img/4.jpg"/>
		<img src="img/5.jpg"/>
		<img src="img/6.jpg"/>
		<img src="img/7.jpg"/>
		<img src="img/8.jpg"/>
		<img src="img/9.jpg"/>
		<img src="img/10.jpg"/>
		<img src="img/11.jpg"/>
		</div>
	</body>
	<script type="text/javascript">
		var stage = document.getElementById("stage");
		//获取到所有图片
		var imgs = stage.getElementsByTagName("img");
		//获取图片的长度
		var len = imgs.length;
		//每一张图片的旋转角度
		var rot = 360/len;
		//使用循环实现效果
		var i=0;
		for(i=0;i<len;i++)
		{
			imgs[i].style.transform = "rotateY("+(rot*i)+"deg) translateZ(300px)"
		}
		
		//x和y方向上运动的差值
		var stepX = 0;
		var stepY = 0;
		//旋转角度
		var rotX = 0;
		var rotY = 0;
		//强这个页面中的拖拽效果禁用掉
		document.ondragstart = function(){
			return false;
		}
		document.onmousedown = function(e){
			//获取点击点的坐标
			var mouX = e.clientX;
			var mouY = e.clientY;
			//鼠标点击下去并且拖动
			document.onmousemove = function(e){
				//拖动过程产生的一系列点的坐标
				var newMouX = e.clientX;
				var newmouY = e.clientY;
				stepX = newMouX - mouX;
				stepY = newmouY - mouY;
				//模拟旋转的角度,就是将差值乘以一个小赔率的值
				rotX += stepY * 0.2;
				rotY += stepX * 0.1;
				
				
				//旋转,先将预定义的写进来,在写新的
stage.style.webkitTransform = "perspective(800px) rotateX(-15deg) rotateX("+rotX+"deg) rotateY("+rotY+"deg)";
				
				
				//为了连续性,我们将这组值作为我们的初始点
				mouX = newMouX;
				mouY = newmouY;
			}
		}
		document.onmouseup = function(){
			document.onmousemove=null;
		}
//		function cssTransform(ele,str){
//			var style["webkit","Moz","ms","o".""];
//			for(var =0;i<5;i++){
//				ele.style[styles[i]+"Transform"]=str;
//				
//			}
//		}
	</script>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值