还是在分享源代码之前,先晒一下照片

原图是这样的,然后随便点一张小图

它会慢慢的看似拼凑出点的那张图的大图】

这里要注意,是慢慢拼凑出,而且再点击一下这个大图,这个大图又会慢慢分散成原来分散的小图片

下面来看一下源代码

html文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>相册</title><style type="text/css">
* {margin: 0;padding: 0
}body {background-color: #e8e3da;
}ul {list-style: none
}#wrap {width: 980px;height: 500px;
}#wrap li {position: absolute;left: 0;top: 0;transition: transform 1500ms ease-out;background-color: white;
}.box {width: 100%;height: 100%;background-size: cover;transition: transform 1500ms ease-out;
}.center {margin: auto;position: absolute;left: 0;right: 0;top: 0;bottom: 0;}
</style><script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$(function () {var collums = 5;//列var rows = 5;//行var wrap = $('#wrap');var w = wrap.width() / rows;var h = wrap.height() / collums;for (var r = 0; r < rows; r++) {for (var c = 0; c < collums; c++) {$('<li><div class="box"></div></li>').width(w).height(h).css({'left': w * c + 'px','top': h * r + 'px','transform': 'scale(0.9) rotate(' + (Math.random() * 40 - 20) + 'deg) ' +'translateX(' + (30*c-60) + 'px)' +'translateY(' + (30*r-60) + 'px)'}).find('.box').css({'background-image': 'url(images/' + (r * collums + c) + '.jpg)','transform': 'scale(0.9)'}).end().appendTo(wrap)}}var change = true;wrap.find('li').on('click', function () {if (change == true) {var bgImg = $(this).find('div').css('background-image');var bgLeft = 0;var bgTop = 0;$('#wrap li').each(function (index) {var $this=$(this);$(this).delay(40*index).animate({"opacity":0},200, function () {$this.css({'transform': ' rotate(0deg) ' +'translateX(0)' +'translateY(0)'});$this.find('div').css({'background-image': bgImg,'background-size': 'auto','backgroundPositionX': -bgLeft,'backgroundPositionY': -bgTop,'transform': 'scale(1)'});bgLeft += 196;if (bgLeft >= 980) {bgTop += 100;bgLeft = 0;}$this.animate({"opacity":1},300);})});change = false;} else if (change == false) {$('#wrap li').each(function (index) {var c=index %collums;var r=parseInt(index/collums);var $this=$(this);$(this).delay(40*index).animate({"opacity":0},200, function () {$this.css({'transform': 'rotate(' + (Math.random() * 40 - 20) + 'deg)' +'translateX(' + (30*c-60) + 'px)' +'translateY(' + (30*r-60) + 'px)'});$this.find('div').css({'background-image': 'url(images/' + index + '.jpg)','background-size': 'cover','transform': 'scale(0.9)'});$this.animate({"opacity":1},200);})});change = true;}})
})
</script>
</head>
<body><ul id="wrap" class="center"></ul></body>
</html>

然后js是用的jQuery包

图片的话,只截个图看一下吧

你们也来试一下吧

转载于:https://www.cnblogs.com/qishuang/p/7217591.html

炫酷照片墙,代码简单易懂相关推荐

  1. Linux中一些有用而炫酷的代码

    Linux中一些有用而炫酷的代码 文章目录 Linux中一些有用而炫酷的代码 一.cal 1.当月的日历 2.近三个月的日历 3.一年的日历 二.yes 三.htop 四.fortune 五.scre ...

  2. 炫酷相册代码,祝对象生日快乐!

    gif动图效果: 由于gif只能展示部分效果,你可以通过视频查看效果–>>完整效果请看视频 可以更改里面的照片.生日倒计时和背景音乐,需要代做的直接私信我即可. 完整项目地址–>&g ...

  3. 详细讲解用Python列表for循环还有if判断语句写出1-100之内的素数,思路清晰语法准确代码简单易懂实用

    详细讲解用Python列表for循环还有if判断语句写出1-100之内的素数,思路清晰语法准确代码简单易懂实用,当然还有一定技巧的算法渗透其中.请看视频: Python 代码实例,找出1-100之内的 ...

  4. android炫酷动画代码,Android高级UI特效仿直播点赞动画效果

    Android高级UI特效仿直播点赞动画效果 发布时间:2020-10-02 16:06:18 来源:脚本之家 阅读:117 作者:mrr 本文给大家分享高级UI特效仿直播点赞效果-一个优美炫酷的点赞 ...

  5. python炫酷特效代码_推荐几个炫酷的 Python 开源项目

    推荐几个炫酷的 Python 开源项目 项目一: Supervisor 简介: Supervisor 是实际企 业常用的一款 Linux/Unix 系统下的一个进程管理工具, 基于 Python 开发 ...

  6. 你不知道的CSS妙用,纯CSS实现炫酷照片墙

    演示地址:https://www.albertyy.com/2020/6/photo.html 原始效果: 鼠标经过效果: 鼠标点击效果: 代码: <!DOCTYPE html> < ...

  7. excel怎么调用c语言程序设计,知识:Excel使用C语言进行读写,代码简单易懂

    [FileDemoList.java.rar]-一种递归方法,用于列出文件夹中的所有文件,包括子文件夹,文件夹和文件.您需要修改文件夹的路径名称才能运行. [Exported-2014-06-11.r ...

  8. js炫酷烟花代码,手动自动燃放都可以哦

    马上春节啦,咱们程序猿当然要用本土的方式庆贺一下啦,来跟我一起放个烟花吧~ 祝大家新的一年里像烟花一样生活五彩缤纷,绽放光彩! 话不多说,直接看效果✨✨✨ 自动燃放状态:点击下屏幕就会不断往随机位置发 ...

  9. Android 图片轮播框架 ImageSlider 炫酷轮播 简单使用

    1.Android studio用户添加依赖: compile 'com.squareup.picasso:picasso:2.5.2' compile 'com.nineoldandroids:li ...

最新文章

  1. Ubuntu 16.04下Caffe-SSD的应用(四)——ssd_pascal.py源码解读
  2. LiveVideoStackCon 2019北京你来吗?
  3. 学信网:研究生云复试平台快速搭建上线
  4. 句句真研—每日长难句打卡Day4
  5. 华为和荣耀蓝牙耳机为什么那么贵?
  6. Android 原创新作 超级水平仪 发布
  7. HDU6266 - Hakase and Nano 狄利克雷卷积
  8. 17秋 SDN课程 第一次作业
  9. java单线程任务调度_一文详解Spring任务执行和调度(小结)
  10. SQL注入防御绕过和sqlmap简单介绍
  11. visio流程图怎么合并线_visio图形怎么合并? visio合并图形的方法
  12. JAVA_Utils_手机号码和座机号码的格式校验
  13. 顶级域名 一级域名 二级域名 三级域名什么区别?
  14. 常用自然语言处理NLP模型原理
  15. codeforces1467E Distinctive Roots in a Tree
  16. windows10 win10 此电脑 文件夹 隐藏
  17. 2021-下载酷狗音乐-爬虫-java
  18. python爬取百度迁徙动态图_爬取动态图片—以百度图片为例
  19. 网易资深安卓架构师:2021年Android常见面试题,面试必问
  20. 域名限制注册有哪些原因?

热门文章

  1. 一加7是什么协议_关于一加8T的充电,看这篇就够了
  2. C语言中常犯的错误(一)
  3. 2022-2027年中国生鲜超市行业市场全景评估及发展战略规划报告
  4. 【STM32F407 开发板】实验六 :SysTick 系统滴答实验
  5. asp微信点餐系统下载,asp微信扫码点餐支付,asp源码开发的mdb数据库
  6. 关于com.aliyun:aliyun-sdk-vod-upload报错的统一解决方案
  7. 店宝宝:阿里也无法撼动的仓储会员,是什么
  8. W601温湿度监测与邮件报警系统 — 源码详解(邮件报警模块)
  9. 希捷企业盘ST4000NM0035 V5更新TN04固件遇到的问题与解决方法
  10. elementUI的日期选择组件只能选择当前年的日期,不能选择之前年和之后年的日期