zoukankan      html  css  js  c++  java
  • 360度旋转相册

    按住鼠标可以拖动,有惯性效果。展示图片的话,把li背景换成图片即可,要添加或删除一些的话,自己调整一下translateZ,和景深perspective即可。假如你看不到3D效果,换浏览器吧大兄弟!!没做兼容

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<style type="text/css">
    		body,ul{padding: 0;margin:0;}
    		body{overflow: hidden;background-color: #000;}
    		li{list-style: none;}
    		.content{perspective: 1000px;}
    		.box{position: relative;  120px;height: 200px;margin:150px auto;transform-style: preserve-3d;transform:rotateX(-10deg); -webkit-touch-callout: none;-webkit-user-select: none ; -khtml-user-select: none ; -moz-user-select: none ; -ms-user-select: none ; user-select: none ;cursor:default;}
    		.box li{position: absolute; 100%;height: 100%;top: 0;left: 0;}
    	</style>
    </head>
    <body>
    	<div class="content">
    		<div class="box">
    			<ul>
    				<li></li>
    				<li></li>
    				<li></li>
    				<li></li>
    				<li></li>
    				<li></li>
    				<li></li>
    				<li></li>
    				<li></li>
    				<li></li>
    				<li></li>
    				<li></li>
    			</ul>
    		</div>
    	</div>
    	<script type="text/javascript">
    	window.onload = function(){
    		var colors = ["#69D2E7", "#E20049", "#19215E", "#F38630", "#FA6900", "#FF4E50", "#F9D423", "#FFB6FF", "#474168", "#6ACAFC", "#B1AD25", "#13445A"];
    		var Ali = [].slice.call(document.querySelectorAll('li'),0);
    		var Obox = document.querySelector('.box');
    		var	rotateY = 0;
    		var	rotateX = 0;
    		var dX,dY;
    		var Time =0;
    		var deg = 360/Ali.length;
    		Ali.forEach(function (dom,index) {
    			dom.style.backgroundColor = colors[index];
    			dom.style.transform = "rotateY("+(deg*index)+"deg) translateZ(350px)";
    			dom.style.zIndex = "-"+index;
    			dom.style.transition = "all .8s "+index*0.1+"s";
    		})
    		document.onmousedown = function(e){
    			var e = e || window.event;
    			var oldX = e.clientX;
    			var oldY = e.clientY;
    			clearTimeout(Time);
    			this.onmousemove = function(e){
    				var e = e || window.event;
    				dX = e.pageX-oldX;
    				dY = e.pageY-oldY;
    				rotateX += dY*0.15;
    				rotateY += dX*0.1;
    				Obox.style.transform = "rotateX("+rotateX+"deg)"+" rotateY("+rotateY+"deg)";
    				oldX = e.clientX;
    				oldY = e.clientY;
    			}
    			this.onmouseup= function(){
    				this.onmousemove = null;
    				deg = 0;
    				Time = setTimeout(function(){
    						if(Math.abs(dX)>0.01 || Math.abs(dY)>0.01){
    							rotateX += dY*0.15;
    							rotateY += dX*0.1;
    							Obox.style.transform = "rotateX("+rotateX+"deg)"+" rotateY("+rotateY+"deg)";							
    							dX *= 0.9;
    							dY *= 0.9;
    							Time = setTimeout(arguments.callee,1000/30);
    						}
    					},1000/30);
    				this.onmouseup = null;
    			}
    		}
    	}
    	</script>
    </body>
    </html>
    
  • 相关阅读:
    上传下载---上传
    分页中的难点
    分页的实现
    c3p0-config连接池
    判断
    客户关系管理增删改
    转发和重定向
    dbUtils结果集处理器
    加载配置文件.properties,及面向接口编程的DaoFactory
    jdbc链接数据库mysql
  • 原文地址:https://www.cnblogs.com/fangfeiyue/p/7364939.html
Copyright © 2011-2022 走看看