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 tab效果的实现代码
Dec 26 Javascript
JS setCapture 区域外事件捕捉
Mar 18 Javascript
提交表单时执行func方法实现代码
Mar 17 Javascript
最好用的省市二级联动 原生js实现你值得拥有
Sep 22 Javascript
仿百度的关键词匹配搜索示例
Sep 25 Javascript
Web 开发中Ajax的Session 超时处理方法
Jan 19 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
Vue使用mixins实现压缩图片代码
Mar 14 Javascript
vue路由拦截及页面跳转的设置方法
May 24 Javascript
深入理解Vue.js轻量高效的前端组件化方案
Dec 10 Javascript
使用React-Router实现前端路由鉴权的示例代码
Jul 26 Javascript
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
Apr 19 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
smarty表格换行实例
2014/12/15 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
JavaScript 的继承
2011/10/01 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
2014/08/07 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
JavaScript实现星星等级评价功能
2017/03/22 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
Python批量修改文本文件内容的方法
2016/04/29 Python
Python读写Json涉及到中文的处理方法
2016/09/12 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
用pycharm开发django项目示例代码
2019/06/13 Python
django日志默认打印request请求信息的方法示例
2020/05/17 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
物理专业本科生自荐信
2014/01/30 职场文书
狼和鹿教学反思
2014/02/05 职场文书
大学生两会精神学习心得体会
2014/03/10 职场文书
先进员工获奖感言
2014/08/14 职场文书
解除租房协议书
2014/12/03 职场文书
2015年清明节网上祭英烈留言寄语
2015/03/04 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
教导处教学工作总结
2015/08/12 职场文书
党章学习心得体会2016
2016/01/14 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers