• [Jquery]瀑布流


    $(window).load(function(e){
        waterfall();
        var dataInt={'data':[{'src':'1.jpg'},{'src':'2.jpg'},{'src':'3.jpg'},{'src':'4.jpg'}]};
        $(window).scroll(function(){
            if(checkscrollside()){
                var $main=$("#main");
                $.each(dataInt.data,function(i){
                    var $oPin=$('<div>').addClass("pin").appendTo($main);
                    var $oBox=$('<div>').addClass("box").appendTo($oPin);
                    var $oImg=$('<img>');
                    $oImg.attr("src",'./images/'+$(this).attr("src")).appendTo($oBox);
                });
                waterfall();
            };
        });
        
        function waterfall(){
            var $main=$("#main");
            var $box=$(".box");
            var $pin=$(".pin");
            var $img=$pin.find("img");
            var pinw=$pin.eq(0).outerWidth();
            var ww=$(window).width();
            var col=Math.floor(ww/pinw);
            $main.css({"width":col*pinw,"margin":"0 auto"});
            var pinArr=[];       //定义数组不需要美元符
            $pin.each(function(i) {
                var pinh=$pin.eq(i).outerHeight();
                if(i<col){
                    pinArr[i]=pinh;
                }else{
                    var minH=Math.min.apply( null,pinArr);
                    var index=$.inArray(minH,pinArr);   //确定第一个参数在数组中的位置
                    var pinl=$pin.eq(index).position().left;       //用.offset().left会有15偏差
                    $(this).css({"position":"absolute","top":minH,"left":pinl});
                    pinArr[index]+=$pin.eq(i).outerHeight();
                }
            });
        }

        function checkscrollside(){
            var $pin=$(".pin");
            var documentH=$(document).height();
            var scrollTop=$(window).srcollTop();
            var lastpinH=$pin.eq($pin.length-1).offset().top+Math.floor($pin.eq($pin.length-1).outerHeight()/2);
            return(lastpinH<documentH+scrollTop)?true:false;
        }    
    })

  • 相关阅读:
    第三方登录(QQ登录)开发流程详解
    网页优化方案
    linux中PHP链接MySQL主机127.0.0.1与localhost
    RSync实现文件备份同步
    网站攻击以及解决方案
    迎难而上,QPS提高22+倍
    新的一扇窗
    边缘计算开源平台
    高并发分布式计算-生产实践
    分布式UUID的生成
  • 原文地址:https://www.cnblogs.com/zhangwenkan/p/3885426.html
Copyright © 2020-2023  润新知