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 相关文章推荐
JavaScript 面向对象编程(1) 基础
May 18 Javascript
js去字符串前后空格5种实现方法及比较
Apr 03 Javascript
jquery插件validate验证的小例子
May 08 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
Jun 04 Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 Javascript
JQuery中层次选择器用法实例详解
May 18 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
Dec 16 Javascript
jQuery的实例及必知重要的jQuery选择器详解
May 20 Javascript
jsTree使用记录实例
Dec 01 Javascript
详解js的六大数据类型
Dec 27 Javascript
js/jq仿window文件夹框选操作插件
Mar 08 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
Sep 01 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更新mysql后获取改变行数的方法
2014/12/25 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
js获取div高度的代码
2008/08/09 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
vue响应式系统之observe、watcher、dep的源码解析
2019/04/09 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
python实现简单温度转换的方法
2015/03/13 Python
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
python中xrange用法分析
2015/04/15 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
Python操作Excel插入删除行的方法
2018/12/10 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
HTML5 预加载让页面得以快速呈现
2013/08/13 HTML / CSS
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
关键字final的用法
2013/10/02 面试题
工会主席岗位责任制
2014/02/11 职场文书
工作决心书范文
2014/03/11 职场文书
社会实践的活动方案
2014/08/22 职场文书
企业法人代表授权委托书
2014/10/02 职场文书
2014年团总支工作总结
2014/11/21 职场文书
教师节寄语2015
2015/03/23 职场文书
公司周年庆典致辞
2015/07/30 职场文书
2019年图书室自查报告范本
2019/10/12 职场文书