使用JS实现图片展示瀑布流效果(简单实例)


Posted in Javascript onSeptember 06, 2016

不知大家有没有发现,一般的图片展示网站都会使用瀑布流效果,所谓的瀑布流

就是网站内的图片不会一下子全缓存出来,而是等你滚动到一定的距离的时候,

下面的图片才会继续缓存,并且图片也是随机出现的,只是宽度一样,高度并不

一样,高高低低就像瀑布一样,所以叫做瀑布流效果。下面我把代码给大家,大家

随便下几张图片试试。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>瀑布流不重复</title>
  <style>
  *{margin: 0px;padding: 0px;list-style: none;}
  #box{width: 1000px;margin: 0 auto;}
  #box ul{float: left;width: 200px;margin-right: 50px;}
  #box img{width: 200px;}
  </style>
</head>
<body>
  <div id="box">
    <ul></ul>
    <ul></ul>
    <ul></ul>
    <ul></ul>
  </div>
  <script>
    var box=document.getElementById('box');
    var ul=box.children;
    function insert(){
      var x=0;
      var srcNum=Math.floor(Math.random()*35);//35是35张图片,可改成任意数,我这里总共是35张图片。
      var newli=document.createElement('li');
      newli.innerHTML='<img src="images/'+srcNum+'.png" alt="">';//这是图片的文件名,要求是统一。
      var minH=Math.min(ul[0].clientHeight,ul[1].clientHeight,ul[2].clientHeight,ul[3].clientHeight);
      for (var i = 0; i < ul.length; i++) {
        if (ul[i].clientHeight==minH) {
          x=i;
          break;
        }
      }
      ul[x].appendChild(newli);
   }
   for (var i = 0; i < 20; i++) {
     insert();
   }
   document.onscroll=function(){
     var viewH=document.body.clientHeight||document.documentElement.clientHeight;
     var winH=document.documentElement.scrollHeight;
     var scrollT=document.body.scrollTop||document.documentElement.scrollTop;
     if (winH-scrollT-viewH<500) {
       for (var i = 0; i < 20; i++) {
       insert();
     }
    }
   }
  </script>
</body>
</html>

以上这篇使用JS实现图片展示瀑布流效果(简单实例)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Div自动滚动到末尾的代码
Oct 26 Javascript
JavaScript实用技巧(一)
Aug 16 Javascript
jquery写个checkbox——类似邮箱全选功能
Mar 19 Javascript
jquery实现智能感知连接外网搜索
May 21 Javascript
jquery的选择器的使用技巧之如何选择input框
Sep 22 Javascript
JavaScript将数据转换成整数的方法
Jan 04 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
Aug 14 Javascript
小程序ios音频播放没声音问题的解决
Jul 11 Javascript
sortable+element 实现表格行拖拽的方法示例
Jun 07 Javascript
JS判断浏览器类型与操作系统的方法分析
Apr 30 Javascript
JavaScript中遍历的十种方法总结
Dec 15 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
ion content 滚动到底部会遮住一部分视图的快速解决方法
Sep 06 #Javascript
原生JS:Date对象全面解析
Sep 06 #Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
Sep 06 #Javascript
Vue.js每天必学之过渡与动画
Sep 06 #Javascript
Vue.js 父子组件通讯开发实例
Sep 06 #Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 #Javascript
Vue.js每天必学之方法与事件处理器
Sep 06 #Javascript
You might like
Session的工作方式
2006/10/09 PHP
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
PHP连接SQLServer2005 的问题解决方法
2010/07/19 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
js输出数据精确到小数点后n位代码
2016/07/02 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
JSON字符串和JSON对象相互转化实例详解
2017/01/05 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
ionic 3.0+ 项目搭建运行环境的教程
2017/08/09 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
JS设计模式之策略模式概念与用法分析
2018/02/05 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
Flask-WTF表单的使用方法
2019/07/12 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
工作自我评价分享
2013/12/01 职场文书
银行实习鉴定
2013/12/13 职场文书
工业学校毕业生自荐书
2014/01/03 职场文书
我的梦想演讲稿500字
2014/08/21 职场文书
党校学习个人总结
2015/02/15 职场文书
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB