js实现超酷的照片墙展示效果图附源码下载


Posted in Javascript onOctober 08, 2015

这是一个超酷的照片墙展示效果,很多照片结合淡入淡出、旋转、缩放、倾斜及3D效果,照片快速从左侧切入,做旋转3D效果,最后在照片墙上整齐排列,为用户展示了超酷的照片墙展示效果。

js实现超酷的照片墙展示效果图附源码下载

查看演示 下载源码

HTML

本文结合实例给大家分享超酷的照片墙效果,该效果依赖jQuery和easing插件,因此首先载入这两个文件。

<script src="jquery.min.js"></script> 
<script src="jquery.easing.1.3.js"></script>

接着,我们在需要展示照片墙的位置放置如下代码:

<div class="grid"></div> 
<div class="animate">点击看效果</div>

CSS

CSS定义了照片墙基本样式,照片排列以及按钮样式。

.grid { 
  width: 600px; height: 300px; margin: 100px auto 50px auto; 
  perspective: 500px; /*For 3d*/ 
} 
.grid img {width: 60px; height: 60px; display: block; float: left;} 
 
.animate { 
  text-transform: uppercase; 
  background: rgb(0, 100, 0); color: white; 
  padding: 10px 20px; border-radius: 5px; 
  cursor: pointer;margin:10px auto;width:100px;text-align:center; 
} 
.animate:hover {background: rgb(0, 75, 0);}

JS

首先我们在页面上动态载入50张照片,照片源来自网络。

var images = "", count = 50; 
for(var i = 1; i <= count; i++) 
  images += '<img src="http://thecodeplayer.com/u/uifaces/'+i+'.jpg" />'; 
   $(".grid").append(images);

当点击按钮时,50张图片做不同程度的变形缩放转换淡出效果,因为要切入下一个照片墙了,当这些动作全部完成时,开始切入照片墙动画效果,调用了storm()函数。

var d = 0; //延时 
var ry, tz, s; //定义转换参数 
$(".animate").on("click", function(){ 
  $("img").each(function(){ 
    d = Math.random()*1000; //1ms to 1000ms delay 
    $(this).delay(d).animate({opacity: 0}, { 
      step: function(n){ 
        s = 1-n; //scale - will animate from 0 to 1 
        $(this).css("transform", "scale("+s+")"); 
      }, 
      duration: 1000 
    }) 
  }).promise().done(function(){ 
    storm(); //淡出效果全部完成时调用 
  }) 
})

自定义函数storm()完成了将每张照片进行角度旋转和Z轴位移动作,结合CSS3使得产生3D效果,然后调用easing实现缓冲效果,让整个照片墙切入十分流畅,请看代码:

function storm(){ 
  $("img").each(function(){ 
    d = Math.random()*1000; 
    $(this).delay(d).animate({opacity: 1}, { 
      step: function(n){ 
        //rotating the images on the Y axis from 360deg to 0deg 
        ry = (1-n)*360; 
        //translating the images from 1000px to 0px 
        tz = (1-n)*1000; 
        //applying the transformation 
        $(this).css("transform", "rotateY("+ry+"deg) translateZ("+tz+"px)"); 
      }, 
      duration: 3000, 
      easing: 'easeOutQuint' 
    }) 
  }) 
}
Javascript 相关文章推荐
JQuery入门——移除绑定事件unbind方法概述及应用
Feb 05 Javascript
Javascript基础教程之数据类型 (字符串 String)
Jan 18 Javascript
H5用户注册表单页 注册模态框!
Sep 17 Javascript
json2.js 入门教程之使用方法与实例分析
Sep 14 Javascript
VUE重点问题总结
Mar 19 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
Aug 30 Javascript
微信小程序框架wepy之动态控制类名
Sep 14 Javascript
ES6 对象的新功能与解构赋值介绍
Feb 05 Javascript
Vue分页器实现原理详解
Jun 28 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
Mar 07 Javascript
怎么理解wx.navigateTo的events参数使用详情
May 18 Javascript
使用eslint和githooks统一前端风格的技巧
Jul 29 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 #Javascript
Javascript控制div属性动态变化实例分析
Oct 08 #Javascript
JS+CSS实现的蓝色table选项卡效果
Oct 08 #Javascript
分享五个有用的jquery小技巧
Oct 08 #Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
Oct 08 #Javascript
JS实现三个层重叠点击互相切换的方法
Oct 06 #Javascript
JS实现的文字与图片定时切换效果代码
Oct 06 #Javascript
You might like
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
jQuery中$.extend()用法实例
2015/06/24 Javascript
jQuery实现仿百度帖吧头部固定导航效果
2015/08/07 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
node.js 模块和其下载资源的镜像设置的方法
2018/09/06 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
Python生成随机MAC地址
2015/03/10 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
Python冲顶大会 快来答题!
2018/01/17 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
2019/08/07 Python
python函数局部变量、全局变量、递归知识点总结
2019/11/15 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
Pycharm github配置实现过程图解
2020/10/13 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
CSS3实现网站商品展示效果图
2020/01/18 HTML / CSS
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
绘儿乐产品官方在线商店:Crayola.com
2019/09/07 全球购物
爷爷追悼会答谢词
2014/01/24 职场文书
禁烟标语大全
2014/06/11 职场文书
教师自我剖析材料(群众路线)
2014/09/29 职场文书
教师群众路线心得体会
2014/11/04 职场文书
小学思品教学反思
2016/02/20 职场文书
Java完整实现记事本代码
2022/06/16 Java/Android