zoukankan      html  css  js  c++  java
  • 延迟加载图片

    lazyload.js

    (function($) {
    $.fn.lazyload = function(options) {
    var settings = {
    threshold    : 0,
    failurelimit : 0,
    event        : "scroll",
    effect       : "show",
    container    : window
    };
    if(options) {
    $.extend(settings, options);
    }
    var elements = this;
    if ("scroll" == settings.event) {
    $(settings.container).bind("scroll", function(event) {
    var counter = 0;
    elements.each(function() {
    if ($.abovethetop(this, settings) ||
    $.leftofbegin(this, settings)) {
    } else if (!$.belowthefold(this, settings) &&
    !$.rightoffold(this, settings)) {
    $(this).trigger("appear");
    } else {
    if (counter++ > settings.failurelimit) {
    return false;
    }
    }
    });
    var temp = $.grep(elements, function(element) {
    return !element.loaded;
    });
    elements = $(temp);
    });
    }
    this.each(function() {
    var self = this;
    $(self).one("appear", function() {
    if (!this.loaded) {
    $("<img />")
    .bind("load", function() {
    $(self)
    .hide()
    .attr("src", $(self).attr("original"))
    [settings.effect](settings.effectspeed);
    self.loaded = true;
    })
    .attr("src", $(self).attr("original"));
    };
    });
    if ("scroll" != settings.event) {
    $(self).bind(settings.event, function(event) {
    if (!self.loaded) {
    $(self).trigger("appear");
    }
    });
    }
    });
    $(settings.container).trigger(settings.event);
    return this;
    };
    $.belowthefold = function(element, settings) {
    if (settings.container === undefined || settings.container === window) {
    var fold = $(window).height() + $(window).scrollTop();
    } else {
    var fold = $(settings.container).offset().top + $(settings.container).height();
    }
    return fold <= $(element).offset().top - settings.threshold;
    };
    $.rightoffold = function(element, settings) {
    if (settings.container === undefined || settings.container === window) {
    var fold = $(window).width() + $(window).scrollLeft();
    } else {
    var fold = $(settings.container).offset().left + $(settings.container).width();
    }
    return fold <= $(element).offset().left - settings.threshold;
    };
    $.abovethetop = function(element, settings) {
    if (settings.container === undefined || settings.container === window) {
    var fold = $(window).scrollTop();
    } else {
    var fold = $(settings.container).offset().top;
    }
    return fold >= $(element).offset().top + settings.threshold  + $(element).height();
    };
    $.leftofbegin = function(element, settings) {
    if (settings.container === undefined || settings.container === window) {
    var fold = $(window).scrollLeft();
    } else {
    var fold = $(settings.container).offset().left;
    }
    return fold >= $(element).offset().left + settings.threshold + $(element).width();
    };
    $.extend($.expr[':'], {
    "below-the-fold" : "$.belowthefold(a, {threshold : 0, container: window})",
    "above-the-fold" : "!$.belowthefold(a, {threshold : 0, container: window})",
    "right-of-fold"  : "$.rightoffold(a, {threshold : 0, container: window})",
    "left-of-fold"   : "!$.rightoffold(a, {threshold : 0, container: window})"
    });})(jQuery);
  • 相关阅读:
    RNA velocity | RNA速率
    Dynamic networks | 动态网络
    Scale Free Network | 无标度网络
    GO | KEGG的注释是怎么来的?
    Nearest neighbor graph | 近邻图
    L0 Regularization
    Median absolute deviation | Singular Value Decomposition奇异值分解 | cumulative sums |
    Multivariate normal distribution | 多元正态分布
    相似性 similarity | Pearson | Spearman | p-value | 相关性 correlation | 距离 distance | distance measure
    Type I and type II errors | 第一类错误和第二类错误
  • 原文地址:https://www.cnblogs.com/daixingqing/p/2768361.html
Copyright © 2011-2022 走看看