1/** 2 * Copyright ETS Software Technology Co., Ltd 3 * 4 * NOTICE OF LICENSE 5 * 6 * This file is not open source! Each license that you purchased is only available for 1 website only. 7 * If you want to use this file on more websites (or projects), you need to purchase additional licenses. 8 * You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party. 9 * 10 * DISCLAIMER 11 * 12 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer 13 * versions in the future. 14 * 15 * @author ETS Software Technology Co., Ltd 16 * @copyright ETS Software Technology Co., Ltd 17 * @license Valid for 1 website (or project) for each purchase of license 18 */ 19!function (a, b, c, d) { 20 var e = a(b); 21 a.fn.lazyload = function (f) { 22 function g() { 23 var b = 0; 24 i.each(function () { 25 var c = a(this); 26 if (!j.skip_invisible || c.is(":visible")) if (a.abovethetop(this, j) || a.leftofbegin(this, j)) ; else if (a.belowthefold(this, j) || a.rightoffold(this, j)) { 27 if (++b >
vendor: 4,113 bytes, lines 27-101
27 j.failure_limit) return !1 28 } else c.trigger("appear"), b = 0 29 }) 30 } 31 32 var h, i = this, j = { 33 threshold: 0, 34 failure_limit: 0, 35 event: "scroll", 36 effect: "show", 37 container: b, 38 data_attribute: "original", 39 skip_invisible: !0, 40 appear: null, 41 load: null, 42 placeholder: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" 43 }; 44 return f && (d !== f.failurelimit && (f.failure_limit = f.failurelimit, delete f.failurelimit), d !== f.effectspeed && (f.effect_speed = f.effectspeed, delete f.effectspeed), a.extend(j, f)), h = j.container === d || j.container === b ? e : a(j.container), 0 === j.event.indexOf("scroll") && h.bind(j.event, function () { 45 return g() 46 }), this.each(function () { 47 var b = this, c = a(b); 48 b.loaded = !1, (c.attr("src") === d || c.attr("src") === !1) && c.is("img") && c.attr("src", j.placeholder), c.one("appear", function () { 49 if (!this.loaded) { 50 if (j.appear) { 51 var d = i.length; 52 j.appear.call(b, d, j) 53 } 54 a("<img />").bind("load", function () { 55 var d = c.attr("data-" + j.data_attribute); 56 c.hide(), c.is("img") ? c.attr("src", d) : c.css("background-image", "url('" + d + "')"), c[j.effect](j.effect_speed), b.loaded = !0; 57 var e = a.grep(i, function (a) { 58 return !a.loaded 59 }); 60 if (i = a(e), j.load) { 61 var f = i.length; 62 j.load.call(b, f, j) 63 } 64 }).attr("src", c.attr("data-" + j.data_attribute)) 65 } 66 }), 0 !== j.event.indexOf("scroll") && c.bind(j.event, function () { 67 b.loaded || c.trigger("appear") 68 }) 69 }), e.bind("resize", function () { 70 g() 71 }), /(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion) && e.bind("pageshow", function (b) { 72 b.originalEvent && b.originalEvent.persisted && i.each(function () { 73 a(this).trigger("appear") 74 }) 75 }), a(c).ready(function () { 76 g() 77 }), this 78 }, a.belowthefold = function (c, f) { 79 var g; 80 return g = f.container === d || f.container === b ? (b.innerHeight ? b.innerHeight : e.height()) + e.scrollTop() : a(f.container).offset().top + a(f.container).height(), g <= a(c).offset().top - f.threshold 81 }, a.rightoffold = function (c, f) { 82 var g; 83 return g = f.container === d || f.container === b ? e.width() + e.scrollLeft() : a(f.container).offset().left + a(f.container).width(), g <= a(c).offset().left - f.threshold 84 }, a.abovethetop = function (c, f) { 85 var g; 86 return g = f.container === d || f.container === b ? e.scrollTop() : a(f.container).offset().top, g >= a(c).offset().top + f.threshold + a(c).height() 87 }, a.leftofbegin = function (c, f) { 88 var g; 89 return g = f.container === d || f.container === b ? e.scrollLeft() : a(f.container).offset().left, g >= a(c).offset().left + f.threshold + a(c).width() 90 }, a.inviewport = function (b, c) { 91 return !(a.rightoffold(b, c) || a.leftofbegin(b, c) || a.belowthefold(b, c) || a.abovethetop(b, c)) 92 }, a.extend(a.expr[":"], { 93 "below-the-fold": function (b) { 94 return a.belowthefold(b, {threshold: 0}) 95 }, "above-the-top": function (b) { 96 return !a.belowthefold(b, {threshold: 0}) 97 }, "right-of-screen": function (b) { 98 return a.rightoffold(b, {threshold: 0}) 99 }, "left-of-screen": function (b) { 100 return !a.rightoffold(b, {threshold: 0}) 101 }, "in-viewport": function (b) {
102 return a.inviewport(b, {threshold: 0}) 103 }, "above-the-fold": function (b) { 104 return !a.belowthefold(b, {threshold: 0}) 105 }, "right-of-fold": function (b) { 106 return a.rightoffold(b, {threshold: 0}) 107 }, "left-of-fold": function (b) { 108 return !a.rightoffold(b, {threshold: 0}) 109 } 110 }) 111}(jQuery, window, document);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.