网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 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);
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/15 18:47:04