javascript照片墙效果
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>锤子-直播照片墙拖拽技术-网站开发-网页特效</title> <style type="text/css"> *{margin:0;padding:0;} body{background:#000000;/*背景填充*/overflow:hidden;} #perspective{perspective:700px;/*眼球看舞台的远近*/transform-style:preserve-3d;position:relative;transform: rotateX(14deg) translateY(302px);} #wrap{ width:200px;/*宽度*/ height:250px;/*height高度*/ margin:200px 50%;/*auto*/ transform:translateZ(100px); transform-style:preserve-3d;/*置为3D空间*/ position:absolute; left:0; top:100%; } #wrap img{ width:100%; height:100%; position:absolute;/*绝对定位*/ border-radius:5px;/*设置圆角*/ box-shadow:1px 0 10px #fff;/*阴影*/ -webkit-box-reflect:below 5px -webkit-linear-gradient(top,rgba(0,0,0,0) 40%,rgba(0,0,0,0.5) 100%); } /*#wrap img:nth-child(1){ /*变形 ? 旋转 rotate 缩放scale 位移translate transform:rotateY(0deg) translateZ(600px); } #wrap img:nth-child(2){ transform:rotateY(33deg) translateZ(600px); } #wrap img:nth-child(3){ transform:rotateY(66deg) translateZ(600px); }*/ </style> </head> <body> <!--- 锤子-照片墙拖拽技术-网站开发-网页特效 如果没有基础来学技术加学习群:539400920要学习下基础教材 如果没有基础来学技术加学习群:539400920要学习下基础教材 1、创建舞台 2、在舞台创建场景 --> <div id="perspective"> <div id="wrap"> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241635554.jpg" alt="梦柯教育" /> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241636000.jpg" alt="梦柯教育" /> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241636163.jpg" alt="梦柯教育" /> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241636272.jpg" alt="梦柯教育" /> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241636304.jpg" alt="梦柯教育" /> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241636331.jpg" alt="梦柯教育" /> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241636374.jpg" alt="梦柯教育" /> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241636414.jpg" alt="梦柯教育" /> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241636452.jpg" alt="梦柯教育" /> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241636484.jpg" alt="梦柯教育" /> <img src="http://www.mengkedu.com/resource/content/2016/11/24/201611241636163.jpg" alt="梦柯教育" /> </div> </div> <script type="text/javascript"> window.onload =function(){ var oWrap = document.getElementById("wrap"); var oImg = oWrap.getElementsByTagName("img"); var oDeg = 360/oImg.length; //算得我们每张图片旋转的度数 var nowX , lastX , nowY , lastY , minusX=0 , minusY = 0; var roX = -10;var roY = 0; var timer = null; //循环 for (var i=0;i<oImg.length ;i++ )//i= 0+1=1 i=1+1=2 { oImg[i].style.transform ='rotateY('+i*oDeg+'deg) translateZ(700px)'; //transition 延迟的效果 oImg[i].style.transition = 'transform 1s '+ (oImg.length-1-i)*0.1+'s' }; marTop() function marTop(){ var wH = document.documentElement.clientHeight; oWrap.style.marginTop = wH/2 -200 +"px"; } document.onmousedown = function(ev){ ev = ev || window.event;// //鼠标按下时候、给赋值 lastX = ev.clientX; lastY = ev.clientY; this.onmousemove = function(ev){ ev = ev || window.event; nowX = ev.clientX; //重新记录我们现在按下的坐标X nowY = ev.clientY;//重新记录我们现在按下的坐标Y minusX = nowX - lastX;//移动过后的坐标 移动之前坐标差值X minusY = nowY - lastY;//移动过后的坐标 移动之前坐标差值Y roX += minusX*0.2; roY -= minusY*0.1; oWrap.style.transform = "rotateY("+roX+"deg)"; lastX = nowX ; lastY = nowY; //console.log(nowX) }; this.onmouseup =function(){ this.onmousemove = null; timer = setInterval(function(){ minusX *=0.95; roX += minusX*0.2; oWrap.style.transform = "rotateY("+roX+"deg)"; if (Math.abs(minusX)<0.1) { clearInterval(timer) } },13) } return false; }; }; </script> </body> </html>
javascript照片墙效果的更多相关文章
- Javascript动画效果(三)
Javascript动画效果(三) 前面我们已经介绍了速度动画.透明度动画.多物体运动和任意值变化,并且我们在Javascript动画效果(二)中介绍到我们封装了一个简单的插件雏形,接下来我们对前面的 ...
- Javascript动画效果(一)
Javascript动画效果(一) 前面我们介绍了Javascript的回到顶部效果,今天呢,我们对Javascript动画做进一步的研究.在这篇博文中我们只介绍简单的匀速运动.简单的缓冲运动和简单的 ...
- Javascript动画效果(二)
Javascript动画效果(二) 在前面的博客中讲了简单的Javascript动画效果,这篇文章主要介绍我在改变之前代码时发现的一些问题及解决方法. 在前面的多物体宽度变化的例子中,我们给其增加代码 ...
- Javascript动画效果(四)
Javascript动画效果(四) 前面我们自己写了一个小小的关于js动画的插件,下面我们来使用之前的框架来完成我们想要的动画效果.我们经常在淘宝网中看到,鼠标经过某一图片时,该图片有从上滚出而又从下 ...
- javascript 拖放效果
最近一直在看javascript的书籍,有些东西在书上看着貌似理解了,但是在真正动手实践时,其实有些细节你根本不了解.所以看起来就算是一个简单的效果,写起来也未必简单,就算写起来简单,写的代码也未必规 ...
- javascript动画效果之缓冲动画(修改版)
在编写多块同时触发运动的时候,发现一个BUG, timer = setInterval(show, 30);本来show是一个自定义函数,当设为timer = setInterval(show(one ...
- javascript动画效果之透明度(修改版)
在编写多块同时触发运动的时候,发现一个BUG, timer = setInterval(show, 30);本来show是一个自定义函数,当设为timer = setInterval(show(one ...
- javascript动画效果之匀速运动(修订版)
在编写多块同时触发运动的时候,发现一个BUG, timer = setInterval(show, 30);本来show是一个自定义函数,当设为timer = setInterval(show(one ...
- 使用CSS3动画实现绚丽的照片墙效果
临近毕业了,一大波毕业照又要来袭了!如何使用CSS3属性制作出自己的网页版照片墙呢? 闲话少说,先来看看效果图 效果要求: 1,照片要求有一定的白色边框. 2,照片都要有一定的倾斜角度. 3,鼠标移动 ...
随机推荐
- java动态绑定的一点注意
动态绑定只是针对对象的方法,对于属性无效.因为属性不能被重写. show me code: public class Father{ public String name = "父亲属性&q ...
- OAF_开发系列02_实现OAF页面的通过个性化多语言开发国际化(案例)
2014-06-10 Created By BaoXinjian
- VS里统计整个解决方案代码行数的方法
VS里统计整个解决方案代码行数,在查找里输入正则表达式:b*[^:b#/]+.*$.如下图所示: 结果如下图所示:
- Round() 四舍五入 js银行家算法(转)
首先问一下round(0.825,2) 返回的结果,大家猜一猜, 首先SQL server 返回的是 0.83 js的返回结果 是0.83,code 如下: var b = 0.825; ...
- java 遍历map 方法 集合 五种的方法
package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...
- Silverlight ComboBox with TreeView
本代码根据国外同名控件代码修改而来--对于N-Tier项目,要求数据源都实现一个接口显然很不方便,因此做了如下修改: 删除接口定义及相关代码 增加了DisplayMember属性,用于标明在Combo ...
- redis中setbit的用法
原文地址:http://www.zhihu.com/question/27672245 在redis中,存储的字符串都是以二级制的进行存在的.举例:设置一个 key-value ,键的名字叫“andy ...
- 关于litJson的System.InvalidCastException
最近在做一个Unity3D的项目,用到了litJson库, 它比JavaScript里的JSON解析更加严格, 有时候解析数据的时候会出现类型不对. 比如说 {"data":12} ...
- Laravel学习笔记(五)数据库 数据库迁移案例2——创建数据结构,数据表,修改数据结构
默认假设 所有的列在定义的时候都有默认的假设,你可以根据需要重写. Laravel假定每个表都有一个数值型的主键(通常命名为”id”),确保新加入的每一行都是唯一的.Laravel只有在每个表都有数值 ...
- ORM艰辛路之EF
经过一段时间对EF的研究,发现EF还是有很大的作用的,起码比自己写代码快捷许多.不过往往一个学习一个新东西开始都是简单的,后面才慢慢了解到它的许多不方便 优点: EF在对一个实体的增删改以及继承方面做 ...