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 10 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
Jun 23 Javascript
JavaScript中继承的一些示例方法与属性参考
Aug 07 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
May 14 Javascript
查看图片(前进后退)功能实现js代码
Apr 24 Javascript
基于jquery实现的可编辑下拉框实现代码
Aug 02 Javascript
JavaScript极简入门教程(三):数组
Oct 25 Javascript
简单讲解jQuery中的子元素过滤选择器
Apr 18 Javascript
js表单元素checked、radio被选中的几种方法(详解)
Aug 22 Javascript
微信小程序图片横向左右滑动案例
May 19 Javascript
VUE元素的隐藏和显示(v-show指令)
Jun 23 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
Aug 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
关于手调机和数调机的选择
2021/03/02 无线电
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
php简单获取目录列表的方法
2015/03/24 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
js面向对象的写法
2016/02/19 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
javascript实现放大镜功能
2020/12/09 Javascript
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
如何通过Python实现标签云算法
2019/07/02 Python
python读写csv文件的方法
2019/08/13 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
2015/04/24 HTML / CSS
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
物流管理专业应届生求职信
2013/11/21 职场文书
优秀士兵个人事迹材料
2014/01/19 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python
学习nginx基础知识
2021/09/04 Servers