<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name = "JiangLiang" Date = "2017/11/23">
<title>回忆无痕</title>
</head>
<style>
*{
margin:0;
padding:0;
}
body{
background-color: #000;
overflow: hidden;
}
#show{
perspective:1000px;/* 景深 */
}
#warp{
position:relative;
width:230px;
height:330px;
margin:250px auto;
transform-style: preserve-3d;/* 3d效果 */
transform: rotateX(-15deg);/* 按照X轴旋转 */
}
#warp img{
position:absolute;
top:0px;
-webkit-box-reflect:below 5px -webkit-linear-gradient(top,rgba(0,0,0,0) 50%,rgba(0,0,0,0.8) 100%);
}
audio{
display:none;
}
</style>
<body>
<div id = "show">
<div id = "warp">
<img src="./images/jiangliang (1).jpg" alt="" width="100%" height="100%">
<img src="./images/jiangliang (2).jpg" alt="" width="100%" height="100%">
<img src="./images/jiangliang (3).jpg" alt="" width="100%" height="100%">
<img src="./images/jiangliang (4).jpg" alt="" width="100%" height="100%">
<img src="./images/jiangliang (5).jpg" alt="" width="100%" height="100%">
<img src="./images/jiangliang (6).jpg" alt="" width="100%" height="100%">
<img src="./images/jiangliang (7).jpg" alt="" width="100%" height="100%"> </div>
</div>
<audio src="./mp3/Westlife - Beautiful In White.mp3" controls="controls" autoplay = "auto" loop = "loop"></audio>
</body>
<script>
var oimg = document.getElementsByTagName("img");
var nowX , nowY , lastX , lastY , minusX , minusY , roX = -5 , roY = 0 ;
var oWarp = document.getElementById("warp");
var timer = null; (function(i){
var Ilenth = oimg.length;
var deg = 360/Ilenth;
for(;i < Ilenth; i++){
oimg[i].style.transform = "rotateY("+deg*i+"deg) translateZ(400px)";
}
})(0); document.onmousedown = function (e){/*鼠标按下时事件*/
var e = e || window.event ;/*event对象*/ lastX = e.clientX;
lastY = e.clientY; this.onmousemove = function(e){/*鼠标移动时事件*/
var e = e || window.event ;
nowX = e.clientX;
nowY = e.clientY; minusX = nowX - lastX;
minusY = nowY - lastY; roY += minusX *0.2;
roX += minusY *0.1; oWarp.style.transform = "rotateX("+roX+"deg) rotateY("+roY+"deg)"; lastX = nowX;
lastY = nowY; this.onmouseout = function(){/*鼠标离开时事件*/
this.onmousemove = null;
timer = setInterval(function(){
minusX *=0.9;
minusY *=0.9; roY += minusX *0.2;
roX += minusY *0.1; oWarp.style.transform = "rotateX("+roX+"deg) rotateY("+roY+"deg)"; if(Math.abs(minusX) < 0.1 || Math.abs(minusY) < 0.1){ clearInterval(timer);/*停止当时定时器*/
}
}, 1000/60); }
}
} </script>
</html>

预览图:

3D旋转相册的实现的更多相关文章

  1. 3D旋转相册(适合新手)

    <!DOCTYPE HTML> <html onselectstart="return false"> <head> <meta char ...

  2. css3+jquery制作3d旋转相册

    首先来看一下今天的炫酷效果: 首先分析一下这张图片: 1.每张图片都有倒影 2.这11张图片呈圆形均匀排列 3.可旋转,上下移动(当然这是效果做出来以后,图片是分析不出来的) 那下面就开始吧. 一.准 ...

  3. css3制作3d旋转相册

    此处只是记录,解析可见原文:http://www.cnblogs.com/skyblue-li/p/6092799.html <!DOCTYPE html> <html xmlns= ...

  4. CSS3实现3D旋转相册

    静态效果图: 代码如下: <!doctype html><html lang="en"><head> <meta charset=&quo ...

  5. Flash相册-------3D旋转应用

    1.图层一,图片1,转换为元件 2.3D旋转工具,变形--->y->180

  6. 解惑:如何使用html+css+js实现旋转相册,立方体相册等动画效果

    解惑:如何使用html+css+js实现旋转相册,立方体相册等动画效果 一.前言 最初还是在抖音上看到可以使用简单地代码实现炫酷的网页效果的,但是想要找到可以运行的代码还是比较困难的,最近突然想起就在 ...

  7. 【CSS3进阶】酷炫的3D旋转透视

    之前学习 react+webpack ,偶然路过 webpack 官网 ,看到顶部的 LOGO ,就很感兴趣. 最近觉得自己 CSS3 过于薄弱,想着深入学习一番,遂以这个 LOGO 为切入口,好好研 ...

  8. 3D旋转菜单

    今天来个3D旋转菜单,是纯css3实现的,主要用到transform,transition,backface-visibility. 主要是transform这个变换,它是今天猪脚. transfor ...

  9. 低调奢华 CSS3 transform-style 3D旋转

    点击这里查看效果:http://keleyi.com/a/bjad/s89uo4t1.htm 效果图: CSS3 transform-style 属性 以下是代码: <!DOCTYPE html ...

随机推荐

  1. Git fetch & pull 区别

    1 简单概括 2 git fetch 的用法 3 git pull的用法 文章来源:https://blog.csdn.net/qq_36113598/article/details/78906882

  2. vim操作命令备忘

    vim操作命令备忘 查找/替换 :%s/keyword//gn //搜索匹配的关键词数量 :%s/keywords/target //替换关键词 待续……

  3. Python基础(10) - 异常

    Python 异常:程序出现了错误而在正常控制流以外采取的行为 Python中常见的异常: 1. NameError:尝试访问一个未声明的变量 >>> something Trace ...

  4. JS 教程

    1简介 1.JavaScript 是脚本语言 1.1轻量级的编程语言 1.2可插入 HTML 页面的编程代码 1.3可由所有的现代浏览器执行 2.您将学到什么 2.1JavaScript:写入 HTM ...

  5. 详解js闭包

    https://segmentfault.com/a/1190000000652891 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 闭包的 ...

  6. 【转】Windows 平台下 Go 语言的安装和环境变量设置

    1. Go 语言 SDK 安装包下载和安装 最新稳定版 1.5.3 安装包 go1.5.3.windows-amd64.msi下载地址 https://golang.org/dl/,大小约 69 MB ...

  7. 设计模式入门,适配器模式,c++代码实现

    // test07.cpp : Defines the entry point for the console application.// #include "stdafx.h" ...

  8. order by 和group by同时使用

  9. Win10系统安装vmware workstation 12后没有桥接网卡怎么办

    原文 vmware workstation是一款虚拟机计算机软件,可以同时运行不同的操作系统,然而有win10系统用户在安装vmware workstation 12之后,却发现网络连接里面没有桥接网 ...

  10. 【Chromium】sandboxed window问题记录

    问题发现 在业务逻辑中发现有时使用chrome.app.window.create这个API创建出来的窗口无法使用其他的API,不仅其他chrome.app.window的API说window is ...