美文网首页
固定列瀑布流

固定列瀑布流

作者: 一只小裸熊 | 来源:发表于2016-08-06 21:00 被阅读0次
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        *{margin:0;padding:0;}
        .wrap{width: 600px;
            margin:0 auto;
            padding:20px 10px;
            border:1px solid #999;
            overflow: hidden;}

        .wrap ul{
            float:left;
            width: 200px;
            list-style: none;
            padding:0 10px;
            /*怪异和模型*/
            box-sizing:border-box;
        }
        .wrap ul li{
            background-color: #ccc;
            margin-bottom: 20px;
            font-size: 10px;
        }
    </style>
</head>
<body>
    <div class="wrap"id="wrap">
        <ul></ul>
        <ul></ul>
        <ul></ul>
    </div>

</body>
    <script>
    //总函数
    function flowFn(){
        //获取元素
         var wrap=document.getElementById('wrap');
         var list=document.getElementsByTagName('ul');

         //设置一个随机函数
         function randFn(max,min){
            var rand=parseInt(Math.random()*(max-min)+min);
            return rand;
         }
         //创建li元素 函数
         function createLi(){
            //创建10li
            for(var i=0;i<10;i++){
                var li=document.createElement('li');
                //为li文本内容
                // li.innerHTML=i;
                // 随机获得一个高度
                var height=randFn(100,300);
                //将随机的高赋值给li
                li.style.height=height+"px";
                //创建一个数组
                var heightArr=[];

                //获取最小高度下标
                var minIndex=0;
                //循环获取元素高度
                for(var j=0;j<list.length;j++){
                    //获取list数组中每个元素的高度,并放入空的数组中
                    heightArr.push(list[j].offsetHeight)
                    // 假定数组0下标的值最小
                    var minHeight=heightArr[0];
                    //
                     if(minHeight>heightArr[j]){
                        //将最小值给minHeight
                        minHeight=heightArr[j];
                        //获取到最小的高度下标
                        minIndex=j;
                     }
                }
                //将li优先添加到高度最小的ul中,目的就是使高度均衡
                list[minIndex].appendChild(li);
            }
         }
            createLi();
    }
        flowFn();
    </script>
</html>
Paste_Image.png

相关文章

  • 固定列瀑布流

  • js瀑布流思路

    固定列数的瀑布流可以首先固定几个ul,不固定列数的瀑布流,就需要首先做一个数组,然后根据屏幕宽度决定创建几个列。

  • 7. 多列

    1. 多列的效果 说明:在CSS3中,可以创建多列来对文本或者区域进行布局。 2. 使用多列实现瀑布流效果 瀑布流...

  • 瀑布流使用小框架

    一个瀑布流使用小框架,模仿tableview的设计模式,在代理中返回瀑布流的列数,行距,列距,内边距,以及item...

  • 瀑布流

    瀑布流布局原理 1.瀑布流中的元素宽度相等,高度不一致2.先确定好排几列,可以固定宽度,也可以用JS动态计算列数列...

  • iOS 瀑布流基本实现

    一、瀑布流设计方案 二、瀑布流设计思路分析 1、自定义流水布局中,指定滚动方向、默认列数、行间距、列间距、以及指定...

  • 【iOS】瀑布流的实现

    1、效果演示 2、实现思路 根据瀑布流的列数,创建记录maxY的字典,例如两列的瀑布流,就创建两个Key去记录左右...

  • 2.1-瀑布流布局原理

    1-瀑布流布局原理 16:28 一、概念 瀑布流是一种数据展现形式。 瀑布流有一大特点:统一列宽,不统一列高,且数...

  • H5 开发实战记录(持续更新)

    1、瀑布流 图片高度不固定这种方式实现的原理是用一个数组保存每一列的高度,新来的图片总是追加在高度值最小的那一列,...

  • 多列实现瀑布流

网友评论

      本文标题:固定列瀑布流

      本文链接:https://www.haomeiwen.com/subject/vooksttx.html