<!DOCTYPE html>
<html ondragstart="return false">
<head>
<meta charset="UTF-8">
<meta name="keywords" content="3D相册">
<meta name="description" content="旋转相册">
<title>旋转相册制作</title>
<style>
* {
margin: 0px;
padding: 0px;
}
body {
background: #000000;
overflow: hidden;
}
#wrap {
width: 133px;
height: 200px;
margin: 200px auto;
position: relative;
transform-style: preserve-3d;
transform: rotateX(-12deg);
}
#wrap img {
width: 200px;
height: 400px;
position: absolute;
border: 2px solid hotpink;
-webkit-box-reflect: below 5px -webkit-linear-gradient(top, rgba(0, 0, 0, 0)30%, rgba(0, 0, 0, .5)100%);
}
#wrap p {
width: 1200px;
height: 1200px;
border-radius: 100%;
background: -webkit-radial-gradient(center, 600px 600px, rgba(244, 23, 234, 0.2), rgba(0, 0, 0, 0));
position: absolute;
top: 112%;
left: 50%;
margin-left: -600px;
margin-top: -600px;
transform: rotateX(90deg);
}
#perspective {
perspective: 800px;
}
</style>
</head>
<body>
<div id="perspective"></div>
<div id="wrap">
<img src="./image/11.webp" alt="">
<p></p>
<img src="./image/22.webp" alt="">
<p></p>
<img src="./image/33.webp" alt="">
<p></p>
<img src="./image/11.webp" alt="">
<p></p>
<img src="./image/22.webp" alt="">
<p></p>
<img src="./image/33.webp" alt="">
<p></p>
<img src="./image/11.webp" alt="">
<p></p>
<img src="./image/22.webp" alt="">
<p></p>
<img src="./image/33.webp" alt="">
<p></p>
<img src="./image/11.webp" alt="">
<p></p>
<img src="./image/22.webp" alt="">
<p></p>
</div>
<script type="text/javascript">
var oImg = document.getElementsByTagName("img");
var deg = 360 / oImg.length;
window.onload = function () {
for (var i = 0; i < oImg.length; i++) {
oImg[i].style.transform = "rotateY(" + i * deg + "deg) translateZ(350px)";
oImg[i].style.transition = "1s " + (oImg.length - i) * 0.1 + "s";
}
}
document.onmousedown = function (ev) {
var oldX = ev.clientX;
var oldY = ev.clientY;
var rotateX = -15,
rotateY = 0;
this.onmousemove = function (ev) {
console.log(ev.clientX, ev.clientY);
var newX = ev.clientX;
var newY = ev.clientY;
var minusX = newX - oldX;
var minusY = newY - oldY;
rotateX -= minusY * 2;
rotateY += minusX * 2;
wrap.style.transform = "rotateX(" + rotateX + "deg)rotateY(" + rotateY + "deg)";
oldX = newX;
oldY = newY;
this.onmouseup = function () {
this.onmousemove = null;
console.log("ccccc");
}
}
}
</script>
</body>
</html>