午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    jquery圖片瀑布流實現
    來源:易賢網 閱讀:1053 次 日期:2015-04-17 11:52:25
    溫馨提示:易賢網小編為您整理了“jquery圖片瀑布流實現”,方便廣大網友查閱!

    原生的javascript圖片瀑布流實現,具體代碼如下:

    (function($){

    $.fn.niceWall = function(options){

    $.fn.niceWall.defaults = {

    "wrap":"body",

    "width":200,

    "gap":10,

    "url":"",

    "count":null,

    "callback":null

    };

    var opts = $.extend({},$.fn.niceWall.defaults ,options || {});

    //

    return this.each(function(){

    var $this = $(this);

    var colspanW = opts.width + opts.gap;

    var arrX = [];

    var arrY = [];

    var iPage = 0;

    var iBtn = true;

    var colspan = Math.floor($(opts.wrap).innerWidth() / colspanW);

    //

    function setLayer(){

    colspan = Math.floor($(window).innerWidth() / colspanW);

    $this.css("width",colspanW * colspan - opts.gap);

    for(var i = 0; i < colspan;i++){

    arrX[i] = colspanW * i;

    arrY[i] = 0;

    }

    };

    setLayer();

    //

    function render(){

    if(!iBtn) return;

    iPage++;

    iBtn = false;

    $.getJSON(opts.url,{page:iPage},function(data){

    $.each(data,function(index,element){

    console.log(element)

    var oDiv = $("<div class='nice-wall'><p></p></div>");

    var oImg = $("<img>");

    var iH = (element.height / element.width)* opts.width;

    oDiv.css({

    "position":"absolute",

    "width":opts.width + "px",

    "height":iH + "px"

    });

    var _index = getMin();

    oDiv.css({

    "left":arrX[_index] + "px",

    "top":arrY[_index] + "px"

    });

    arrY[_index] += iH + opts.gap;

    //

    oDiv.append(oImg);

    $this.append(oDiv);

    var hookImg = new Image();

    hookImg.src = element.preview;

    hookImg.onload = function(){

    oImg.attr({

    "src":this.src,

    "href":element.image

    });

    };

    //

    iBtn = true;

    });

    //

    if(opts.callback){

    opts.callback();

    }

    });

    };

    render();

    //

    function getMin(){

    var v = arrY[0];

    var _index = 0;

    for(var i = 1;i < arrY.length;i++){

    if(arrY[i] < v){

    v = arrY[i];

    _index = i;

    }

    }

    return _index;

    };

    //

    $(window).off("scroll",srcollFn).on("scroll",srcollFn);

    //

    function srcollFn(){

    var stp = $(window).scrollTop() + $(window).innerHeight();

    var dH = $(document).height();

    var _index = getMin();

    if(arrY[_index] + 50 < stp ){

    render();

    }

    };

    //

    $(window).on("resize",function(){

    arrX = [];

    arrY = [];

    setLayer();

    //

    $this.find(".nice-wall").each(function(){

    var _index = getMin();

    $(this).animate({

    "left":arrX[_index] + "px",

    "top":arrY[_index] + "px"

    },400);

    arrY[_index] += $(this).height() + opts.gap;

    });

    });

    });

    }

    })(jQuery);

    更多信息請查看IT技術專欄

    更多信息請查看腳本欄目
    易賢網手機網站地址:jquery圖片瀑布流實現

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網