使用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 相关文章推荐
jQuery温习篇 强大的JQuery选择器
Apr 24 Javascript
JavaScript实现数字数组按照倒序排列的方法
Apr 06 Javascript
详解JavaScript的变量和数据类型
Nov 27 Javascript
JS简单实现String转Date的方法
Mar 02 Javascript
JavaScript中的冒泡排序法
Aug 03 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
Dec 30 Javascript
微信小程序 下拉菜单简单实例
Apr 13 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
Vue 事件处理操作实例详解
Mar 05 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
Jun 10 Javascript
在vue中使用image-webpack-loader实例
Nov 12 Javascript
原生js实现点击按钮复制内容到剪切板
Nov 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 中的类
2006/10/09 PHP
用PHP发电子邮件
2006/10/09 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
PHP关联数组的10个操作技巧
2013/01/21 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
Laravel统一错误处理为JSON的方法介绍
2020/10/18 PHP
用JQuery调用Session的实现代码
2010/10/29 Javascript
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
jQuery层级选择器用法分析
2015/02/10 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
javascript回调函数详解
2018/02/06 Javascript
js+css实现打字效果
2020/06/24 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
2019/11/01 jQuery
js模拟实现烟花特效
2020/03/10 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
jupyter notebook 的工作空间设置操作
2020/04/20 Python
什么是python的自省
2020/06/21 Python
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
房产委托公证书样本
2014/04/04 职场文书
政治学求职信
2014/06/03 职场文书
弄虚作假心得体会
2014/09/10 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
2015大学生暑假调查报告
2015/07/13 职场文书
工作简报怎么写
2015/07/21 职场文书