js实现瀑布流效果(自动生成新的内容)


Posted in Javascript onMarch 16, 2017

当滚动条接近底部会自动生成新的内容(色块)

效果图:

js实现瀑布流效果(自动生成新的内容)

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    *{list-style: none;}
    div{overflow: hidden;}
    ul{float: left;}
    li{width:300px; margin-bottom:10px;}
  </style>
  <script>
    function rnd(n,m){
      return parseInt(Math.random()*(m-n))+n;
    }
    function cl(){
      var li = document.createElement('li');
      li.style.height=rnd(100,500)+'px';
      li.style.background='rgb('+rnd(0,255)+','+rnd(0,255)+','+rnd(0,255)+')';
      return li;
    }
    window.onload=function(){
      var aUl = document.getElementsByTagName('ul');
      //alert(aUl.length);
      function c20(){
        for(var i =0;i<20;i++){
          var arr =[];
          for(var j=0;j<aUl.length;j++){
            arr.push(aUl[j])
          }
          arr.sort(function(n,m){
            return n.offsetHeight- m.offsetHeight
          });
          arr[0].appendChild(cl());
        }
      }
      c20();
      window.onscroll=function(){
        var arr = [];
        for (var j = 0; j < aUl.length; j++) {
          arr.push(aUl[j])
        }
        arr.sort(function (n, m) {
          return n.offsetHeight - m.offsetHeight
        });
        var n = (document.body.scrollTop || document.documentElement.scrollTop) + document.documentElement.clientHeight;
        if (n > arr[0].offsetHeight) {
          c20()
        }
      }
    }
  </script>
</head>
<body>
<div>
  <ul></ul>
  <ul></ul>
  <ul></ul>
</div>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
jquery 新建的元素事件绑定问题解决方案
Jun 12 Javascript
javascript实现省市区三级联动下拉框菜单
Nov 17 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
Nov 26 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
Dec 23 Javascript
Vue2递归组件实现树形菜单
Apr 10 Javascript
详解angular笔记路由之angular-router
Sep 12 Javascript
vue-cli脚手架引入图片的几种方法总结
Mar 13 Javascript
详解关于html,css,js三者的加载顺序问题
Apr 10 Javascript
vue多页面项目中路由使用history模式的方法
Sep 23 Javascript
vue实现div单选多选功能
Jul 16 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
Aug 04 Javascript
超详细小程序定位地图模块全系列开发教学
Nov 24 Javascript
es6的数字处理的方法(5个)
Mar 16 #Javascript
Webpack打包慢问题的完美解决方法
Mar 16 #Javascript
div中文字内容溢出常见的解决方法
Mar 16 #Javascript
JavaScript实现类似淘宝的购物车效果
Mar 16 #Javascript
原生js更改css样式的两种方式
Mar 15 #Javascript
js清除浏览器缓存的几种方法
Mar 15 #Javascript
从零开始做一个pagination分页组件
Mar 15 #Javascript
You might like
Zerg建筑一览
2020/03/14 星际争霸
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
php header示例代码(推荐)
2010/09/08 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
js的event详解。
2006/09/06 Javascript
JavaScript EasyPager 分页函数
2011/05/25 Javascript
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
Python实现子类调用父类的方法
2014/11/10 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
matplotlib交互式数据光标mpldatacursor的实现
2021/02/03 Python
解决import tensorflow导致jupyter内核死亡的问题
2021/02/06 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
大二自我鉴定
2014/01/31 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
专家推荐信怎么写
2015/03/25 职场文书
食品卫生管理制度
2015/08/06 职场文书
小学英语听课心得体会
2016/01/14 职场文书
2019 入党申请书范文
2019/07/10 职场文书
pytorch中[..., 0]的用法说明
2021/05/20 Python
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js