zoukankan      html  css  js  c++  java
  • jQuery瀑布流布局

    waterFall.js

    /*扩展jquery 的方法,扩展的方法是要操作局部的dom*/
    $.fn.waterFall=function(){
           var $items=$(this);
           var parentWidth=$items.width();//盒子宽度
           var $childRen=$items.children(".item");
           var width=$childRen.width();//每一个item宽度
           var column=5;//列数
           var space=(parentWidth-column*width)/(column-1);//间距
           //定义的一个临时的存储区,记录每一列的高度.
           var arr=[];
           $childRen.each(function(index,dom){
                 var $dom=$(dom);
                 if(index<column){ //这里是计算前面的5列位置.
                     $dom.css({
                          top:0,
                          left:index*(width+space)
                     });
                     arr.push($dom.height());
                 }else{
                     //这里是计算后面的元素的位置.
                     var minIndex=0;
                     //找到最矮的这一列的高度,以及索引值.
                     var minHeight=arr[minIndex];
                     for(var i=0;i<arr.length;i++){
                            if(minHeight>arr[i]){
                                minHeight=arr[i];
                                minIndex=i;
                            }
                     }
                     //找到之后改这个item 的位置.
                    //找到最矮的一列,然后把这个元素加到最矮的那一列下面去.
                     $dom.css({
                          left:minIndex*(width+space),
                          top:minHeight+space
                     });
                     // 这里是把最矮的那一列的高度进行更新,因为你在最矮的这一列添加了元素.
                     arr[minIndex]=minHeight+space+$dom.height();
                 }
           })
    }
    

    html

    <div class="items">
        <div class="item">
            <img src="../imgs/1.png"/>
        </div>
        <div class="item">
            <img src="../imgs/1.png"/>
        </div>
    </div>
    //引入jQuery和上面waterFall.js
    <script>
        $(".items").waterFall()
    </script>
    
  • 相关阅读:
    bat入门--第一个bat文件
    Egret的Shape
    Less Time, More profit 最大权闭合子图(最大流最小割)
    Mayor's posters POJ
    Stars POJ
    Snacks
    有趣的数列 卡特兰数
    Devu and Flowers lucas定理+容斥原理
    整数分解为2的幂 数学
    易碎的鸟蛋 概率DP
  • 原文地址:https://www.cnblogs.com/samsara-yx/p/12360860.html
Copyright © 2011-2022 走看看