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 相关文章推荐
JS 无法通过W3C验证的处理方法
Mar 09 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
Mar 16 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
Aug 06 Javascript
jquery设置元素的readonly和disabled的写法
Sep 22 Javascript
JS的document.all函数使用示例
Dec 30 Javascript
JS按回车键实现登录的方法
Aug 25 Javascript
JavaScript阻止事件冒泡示例分享
Dec 28 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
Dec 01 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
Jan 07 Javascript
js微信分享接口调用详解
Jul 23 Javascript
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
JavaScript实现登录窗体
Jun 22 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 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
js装饰设计模式学习心得
2018/02/17 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
Vue向后台传数组数据,springboot接收vue传的数组数据实例
2020/11/12 Javascript
Python中文竖排显示的方法
2015/07/28 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
生日邀请函范文
2014/01/13 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
中式婚礼主持词
2014/03/13 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
2015年班长个人工作总结
2015/04/03 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
六年级作文之自救
2019/12/19 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
Redis 配置文件重要属性的具体使用
2021/05/20 Redis
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL