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,鼠标移动 ...
随机推荐
- PL/SQLDeveloper导入导出Oracle数据库方法
前一篇博客介绍了Navicat工具备份Oracle的方法,这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据 ...
- 使用百度地图API产生指定范围的随机点
直接上代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> ...
- 修改sys密码与nbu备份脚本密码后,nbu备份报密码无效
公司要求口令强化,在修改sys密码后nbu的.sh脚本connect备份归档的sys/passwd也随之修改修改后每个业务备份均失败, 每次备份到归档那里就结束报密码无效,疑惑备份脚本密码也同步修改了 ...
- XE6 & IOS开发之开发者账号、苹果证书(3):关于在XE6中使用苹果证书的简单介绍
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 1.关于在XE6中使用苹 ...
- UNIX网络编程-非阻塞connect和非阻塞accept
1.非阻塞connect 在看了很多资料之后,我自己的理解是:在socket发起一次连接的时候,这个过程需要一段时间来将三次握手的过程走完,如果在网络状况不好或者是其他的一些情况下,这个过程需要比较长 ...
- python 2day
一 优化 username='alex' password=‘alex123’ 可以写成 username,password =‘alex’,'alex123' 二.再次优化 for i in ran ...
- openscales实现漂亮的冒泡效果
使用的时候openscales 默认的冒泡效果确实有点简陋,想实现那种看着比较舒服的效果,只能自己定义了.参考现有的openscales实现的方式,它是通过控件的状态实现的,每个状态中使用Path绘制 ...
- 小结一下:javascript 金额计算
今天在项目中开发一个计算金额的功能,开始我是这样做的: eg: var amount += parseFloat( 0.01+0.02); 结果:0.0300000000000000001 为什么呢? ...
- CString std::string相互转换
CString->std::string 例子: CString strMfc=“test“; std::string strStl; strStl=strMfc.GetBuffer(0); s ...
- 【小错误】SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
1.今天在scott用户下执行语句跟踪时报了如下错误: SCOTT@ORA11GR2>set autotrace on SP2: Cannot find the Session Identifi ...