使用JS实现图片展示瀑布流效果的实例代码


Posted in Javascript onSeptember 12, 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 相关文章推荐
JS获取DropDownList的value值与text值的示例代码
Jan 07 Javascript
全系IE支持Bootstrap的解决方法
Oct 19 Javascript
DOM 事件的深入浅出(一)
Dec 05 Javascript
Bootstrap select多选下拉框实现代码
Dec 23 Javascript
Bootstrap与Angularjs的模态框实例代码
Aug 03 Javascript
AngularJS中下拉框的基本用法示例
Oct 11 Javascript
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
js动态设置select下拉菜单的默认选中项实例
Aug 21 Javascript
vue实现记事本功能
Jun 26 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
Jan 26 Javascript
js闭包的9个使用场景
Dec 29 Javascript
避坑之 JavaScript 中的toFixed()和正则表达式
Apr 19 Javascript
关于javascript的一些知识以及循环详解
Sep 12 #Javascript
基于AngularJS实现iOS8自带的计算器
Sep 12 #Javascript
Javascript6中字符串的四个新用法分享
Sep 11 #Javascript
JavaScript制作简单分页插件
Sep 11 #Javascript
关于vue.js弹窗组件的知识点总结
Sep 11 #Javascript
JavaScript常用代码书写规范的超全面总结
Sep 11 #Javascript
Javascript实现前端简单的路由实例
Sep 11 #Javascript
You might like
PHP源码之explode使用说明
2011/08/05 PHP
有一段有意思的代码-javascript现实多行信息
2007/08/26 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
了解Javascript的模块化开发
2015/03/02 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
Javascript之String对象详解
2016/06/08 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
几种tab切换详解
2017/02/03 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
微信小程序动态的加载数据实例代码
2017/04/14 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
python 正则式使用心得
2009/05/07 Python
Python编程之多态用法实例详解
2015/05/19 Python
Python实现视频下载功能
2017/03/14 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
Python3解释器知识点总结
2019/02/19 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
python 如何调用远程接口
2020/09/11 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
百丽国际旗下购物网站:优购
2017/02/28 全球购物
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
蛋糕店的商业计划书范文
2014/01/27 职场文书
调查研究项目计划书
2014/04/29 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
Redis数据结构之链表与字典的使用
2021/05/11 Redis
linux中nohup和后台运行进程查看及终止
2021/06/24 Python