PageSourceSearch

http://www.nord-nature.org/maquette-wordpress/wp-content/themes/ev…/js/jquery.infinite-scroll.min.js?ver=7.1.2

js nord-nature.org collected 2026-09-24 23:03:18 UTC 23,658 bytes, 441 lines download raw bytes

1/*!* Infinite Ajax Scroll v2.2.1* 
2 * A jQuery plugin for infinite scrolling
3 * 
4 * http://infiniteajaxscroll.com
5 * Commercial use requires one-time purchase of a commercial license
6 * http://infiniteajaxscroll.com/docs/license.html
7 * Non-commercial use is licensed under the MIT License
8 * Copyright (c) 2015 Webcreate (Jeroen Fiege)
9 * */
10var IASCallbacks = function () {
11    return this.list = [], this.fireStack = [], this.isFiring = !1, this.isDisabled = !1, this.fire = function (a) {
12        var b = a[0],
13                c = a[1],
14                d = a[2];
15        this.isFiring = !0;
16        for (var e = 0, f = this.list.length; f > e; e++)
17            if (void 0 != this.list[e] && !1 === this.list[e].fn.apply(b, d)) {
18                c.reject();
19                break
20            }
21        this.isFiring = !1, c.resolve(), this.fireStack.length && this.fire(this.fireStack.shift())
22    }, this.inList = function (a, b) {
23        b = b || 0;
24        for (var c = b, d = this.list.length; d > c; c++)
25            if (this.list[c].fn === a || a.guid && this.list[c].fn.guid && a.guid === this.list[c].fn.guid)
26                return c;
27        return -1
28    }, this
29};
30IASCallbacks.prototype = {
31    add: function (a, b) {
32        var c = {
33            fn: a,
34            priority: b
35        };
36        b = b || 0;
37        for (var d = 0, e = this.list.length; e > d; d++)
38            if (b > this.list[d].priority)
39                return this.list.splice(d, 0, c), this;
40        return this.list.push(c), this
41    },
42    remove: function (a) {
43        for (var b = 0;
44                (b = this.inList(a, b)) > - 1; )
45            this.list.splice(b, 1);
46        return this
47    },
48    has: function (a) {
49        return this.inList(a) > -1
50    },
51    fireWith: function (a, b) {
52        var c = jQuery.Deferred();
53        return this.isDisabled ? c.reject() : (b = b || [], b = [a, c, b.slice ? b.slice() : b], this.isFiring ? this.fireStack.push(b) : this.fire(b), c)
54    },
55    disable: function () {
56        this.isDisabled = !0
57    },
58    enable: function () {
59        this.isDisabled = !1
60    }
61},
62function (a) {
63    "use strict";
64    var b = -1,
65            c = function (c, d) {
66                return this.itemsContainerSelector = d.container, this.itemSelector = d.item, this.nextSelector = d.next, this.paginationSelector = d.pagination, this.$scrollContainer = c, this.$container = window === c.get(0) ? a(document) : c, this.defaultDelay = d.delay, this.negativeMargin = d.negativeMargin, this.nextUrl = null, this.isBound = !1, this.isPaused = !1, this.isInitialized = !1, this.listeners = {
67                    next: new IASCallbacks,
68                    load: new IASCallbacks,
69                    loaded: new IASCallbacks,
70                    render: new IASCallbacks,
71                    rendered: new IASCallbacks,
72                    scroll: new IASCallbacks,
73                    noneLeft: new IASCallbacks,
74                    ready: new IASCallbacks
75                }, this.extensions = [], this.scrollHandler = function () {
76                    if (this.isBound && !this.isPaused) {
77                        var a = this.getCurrentScrollOffset(this.$scrollContainer),
78                                c = this.getScrollThreshold();
79                        b != c && (this.fire("scroll", [a, c]), a >= c && this.next())
80                    }
81                }, this.getItemsContainer = function () {
82                    return a(this.itemsContainerSelector)
83                }, this.getLastItem = function () {
84                    return a(this.itemSelector, this.getItemsContainer().get(0)).last()
85                }, this.getFirstItem = function () {
86                    return a(this.itemSelector, this.getItemsContainer().get(0)).first()
87                }, this.getScrollThreshold = function (a) {
88                    var c;
89                    return a = a || this.negativeMargin, a = a >= 0 ? -1 * a : a, c = this.getLastItem(), 0 === c.length ? b : c.offset().top + c.height() + a
90                }, this.getCurrentScrollOffset = function (a) {
91                    var b = 0,
92                            c = a.height();
93                    return b = window === a.get(0) ? a.scrollTop() : a.offset().top, (-1 != navigator.platform.indexOf("iPhone") || -1 != navigator.platform.indexOf("iPod")) && (c += 80), b + c
94                }, this.getNextUrl = function (b) {
95                    return b = b || this.$container, a(this.nextSelector, b).last().attr("href")
96                }, this.load = function (b, c, d) {
97                    var e, f, g = this,
98                            h = [],
99                            i = +new Date;
100                    d = d || this.defaultDelay;
101                    var j = {
102                        url: b
103                    };
104                    return g.fire("load", [j]), a.get(j.url, null, a.proxy(function (b) {
105                        e = a(this.itemsContainerSelector, b).eq(0), 0 === e.length && (e = a(b).filter(this.itemsContainerSelector).eq(0)), e && e.find(this.itemSelector).each(function () {
106                            h.push(this)
107                        }), g.fire("loaded", [b, h]), c && (f = +new Date - i, d > f ? setTimeout(function () {
108                            c.call(g, b, h)
109                        }, d - f) : c.call(g, b, h))
110                    }, g), "html")
111                }, this.render = function (b, c) {
112                    var d = this,
113                            e = this.getLastItem(),
114                            f = 0,
115                            g = this.fire("render", [b]);
116                    g.done(function () {
117                        a(b).hide(), e.after(b), a(b).fadeIn(400, function () {
118                            ++f < b.length || (d.fire("rendered", [b]), c && c())
119                        })
120                    })
121                }, this.hidePagination = function () {
122                    this.paginationSelector && a(this.paginationSelector, this.$container).hide()
123                }, this.restorePagination = function () {
124                    this.paginationSelector && a(this.paginationSelector, this.$container).show()
125                }, this.throttle = function (b, c) {
126                    var d, e, f = 0;
127                    return d = function () {
128                        function a() {
129                            f = +new Date, b.apply(d, g)
130                        }
131                        var d = this,
132                                g = arguments,
133                                h = +new Date - f;
134                        e ? clearTimeout(e) : a(), h > c ? a() : e = setTimeout(a, c)
135                    }, a.guid && (d.guid = b.guid = b.guid || a.guid++), d
136                }, this.fire = function (a, b) {
137                    return this.listeners[a].fireWith(this, b)
138                }, this.pause = function () {
139                    this.isPaused = !0
140                }, this.resume = function () {
141                    this.isPaused = !1
142                }, this
143            };
144    c.prototype.initialize = function () {
145        if (this.isInitialized)
146            return !1;
147        var a = !!("onscroll" in this.$scrollContainer.get(0)),
148                b = this.getCurrentScrollOffset(this.$scrollContainer),
149                c = this.getScrollThreshold();
150        return a ? (this.hidePagination(), this.bind(), this.fire("ready"), this.nextUrl = this.getNextUrl(), b >= c ? (this.next(), this.one("rendered", function () {
151            this.isInitialized = !0
152        })) : this.isInitialized = !0, this) : !1
153    }, c.prototype.reinitialize = function () {
154        this.isInitialized = !1, this.unbind(), this.initialize()
155    }, c.prototype.bind = function () {
156        if (!this.isBound) {
157            this.$scrollContainer.on("scroll", a.proxy(this.throttle(this.scrollHandler, 150), this));
158            for (var b = 0, c = this.extensions.length; c > b; b++)
159                this.extensions[b].bind(this);
160            this.isBound = !0, this.resume()
161        }
162    }, c.prototype.unbind = function () {
163        if (this.isBound) {
164            this.$scrollContainer.off("scroll", this.scrollHandler);
165            for (var a = 0, b = this.extensions.length; b > a; a++)
166                "undefined" != typeof this.extensions[a].unbind && this.extensions[a].unbind(this);
167            this.isBound = !1
168        }
169    }, c.prototype.destroy = function () {
170        this.unbind(), this.$scrollContainer.data("ias", null)
171    }, c.prototype.on = function (b, c, d) {
172        if ("undefined" == typeof this.listeners[b])
173            throw new Error('There is no event called "' + b + '"');
174        return d = d || 0, this.listeners[b].add(a.proxy(c, this), d), this
175    }, c.prototype.one = function (a, b) {
176        var c = this,
177                d = function () {
178                    c.off(a, b), c.off(a, d)
179                };
180        return this.on(a, b), this.on(a, d), this
181    }, c.prototype.off = function (a, b) {
182        if ("undefined" == typeof this.listeners[a])
183            throw new Error('There is no event called "' + a + '"');
184        return this.listeners[a].remove(b), this
185    }, c.prototype.next = function () {
186        var a = this.nextUrl,
187                b = this;
188        if (this.pause(), !a)
189            return this.fire("noneLeft", [this.getLastItem()]), this.listeners.noneLeft.disable(), b.resume(), !1;
190        var c = this.fire("next", [a]);
191        return c.done(function () {
192            b.load(a, function (a, c) {
193                b.render(c, function () {
194                    b.nextUrl = b.getNextUrl(a), b.resume()
195                })
196            })
197        }), c.fail(function () {
198            b.resume()
199        }), !0
200    }, c.prototype.extension = function (a) {
201        if ("undefined" == typeof a.bind)
202            throw new Error('Extension doesn\'t have required method "bind"');
203        return "undefined" != typeof a.initialize && a.initialize(this), this.extensions.push(a), this.isInitialized && this.reinitialize(), this
204    }, a.ias = function (b) {
205        var c = a(window);
206        return c.ias.apply(c, arguments)
207    }, a.fn.ias = function (b) {
208        var d = Array.prototype.slice.call(arguments),
209                e = this;
210        return this.each(function () {
211            var f = a(this),
212                    g = f.data("ias"),
213                    h = a.extend({}, a.fn.ias.defaults, f.data(), "object" == typeof b && b);
214            if (g || (f.data("ias", g = new c(f, h)), a(document).ready(a.proxy(g.initialize, g))), "string" == typeof b) {
215                if ("function" != typeof g[b])
216                    throw new Error('There is no method called "' + b + '"');
217                d.shift(), g[b].apply(g, d)
218            }
219            e = g
220        }), e
221    }, a.fn.ias.defaults = {
222        item: ".item",
223        container: ".listing",
224        next: ".next",
225        pagination: !1,
226        delay: 600,
227        negativeMargin: 10
228    }
229}(jQuery);
230var IASHistoryExtension = function (a) {
231    return a = jQuery.extend({}, this.defaults, a), this.ias = null, this.prevSelector = a.prev, this.prevUrl = null, this.listeners = {
232        prev: new IASCallbacks
233    }, this.onPageChange = function (a, b, c) {
234        if (window.history && window.history.replaceState) {
235            var d = history.state;
236            history.replaceState(d, document.title, c)
237        }
238    }, this.onScroll = function (a, b) {
239        var c = this.getScrollThresholdFirstItem();
240        this.prevUrl && (a -= this.ias.$scrollContainer.height(), c >= a && this.prev())
241    }, this.onReady = function () {
242        var a = this.ias.getCurrentScrollOffset(this.ias.$scrollContainer),
243                b = this.getScrollThresholdFirstItem();
244        a -= this.ias.$scrollContainer.height(), b >= a && this.prev()
245    }, this.getPrevUrl = function (a) {
246        return a || (a = this.ias.$container), jQuery(this.prevSelector, a).last().attr("href")
247    }, this.getScrollThresholdFirstItem = function () {
248        var a;
249        return a = this.ias.getFirstItem(), 0 === a.length ? -1 : a.offset().top
250    }, this.renderBefore = function (a, b) {
251        var c = this.ias,
252                d = c.getFirstItem(),
253                e = 0;
254        c.fire("render", [a]), jQuery(a).hide(), d.before(a), jQuery(a).fadeIn(400, function () {
255            ++e < a.length || (c.fire("rendered", [a]), b && b())
256        })
257    }, this
258};
259IASHistoryExtension.prototype.initialize = function (a) {
260    var b = this;
261    this.ias = a, jQuery.extend(a.listeners, this.listeners), a.prev = function () {
262        return b.prev()
263    }, this.prevUrl = this.getPrevUrl()
264}, IASHistoryExtension.prototype.bind = function (a) {
265    a.on("pageChange", jQuery.proxy(this.onPageChange, this)), a.on("scroll", jQuery.proxy(this.onScroll, this)), a.on("ready", jQuery.proxy(this.onReady, this))
266}, IASHistoryExtension.prototype.unbind = function (a) {
267    a.off("pageChange", this.onPageChange), a.off("scroll", this.onScroll), a.off("ready", this.onReady)
268}, IASHistoryExtension.prototype.prev = function () {
269    var a = this.prevUrl,
270            b = this,
271            c = this.ias;
272    if (!a)
273        return !1;
274    c.pause();
275    var d = c.fire("prev", [a]);
276    return d.done(function () {
277        c.load(a, function (a, d) {
278            b.renderBefore(d, function () {
279                b.prevUrl = b.getPrevUrl(a), c.resume(), b.prevUrl && b.prev()
280            })
281        })
282    }), d.fail(function () {
283        c.resume()
284    }), !0
285}, IASHistoryExtension.prototype.defaults = {
286    prev: ".prev"
287};
288var IASNoneLeftExtension = function (a) {
289    return a = jQuery.extend({}, this.defaults, a), this.ias = null, this.uid = (new Date).getTime(), this.html = a.html.replace("{text}", a.text), this.showNoneLeft = function () {
290        var a = jQuery(this.html).attr("id", "ias_noneleft_" + this.uid),
291                b = this.ias.getLastItem();
292        b.after(a), a.fadeIn()
293    }, this
294};
295IASNoneLeftExtension.prototype.bind = function (a) {
296    this.ias = a, a.on("noneLeft", jQuery.proxy(this.showNoneLeft, this))
297}, IASNoneLeftExtension.prototype.unbind = function (a) {
298    a.off("noneLeft", this.showNoneLeft)
299}, IASNoneLeftExtension.prototype.defaults = {
300    text: "You reached the end.",
301    html: '<div class="ias-noneleft" style="text-align: center;">{text}</div>'
302};
303var IASPagingExtension = function () {
304    return this.ias = null, this.pagebreaks = [
305        [0, document.location.toString()]
306    ], this.lastPageNum = 1, this.enabled = !0, this.listeners = {
307        pageChange: new IASCallbacks
308    }, this.onScroll = function (a, b) {
309        if (this.enabled) {
310            var c, d = this.ias,
311                    e = this.getCurrentPageNum(a),
312                    f = this.getCurrentPagebreak(a);
313            this.lastPageNum !== e && (c = f[1], d.fire("pageChange", [e, a, c])), this.lastPageNum = e
314        }
315    }, this.onNext = function (a) {
316        var b = this.ias.getCurrentScrollOffset(this.ias.$scrollContainer);
317        this.pagebreaks.push([b, a]);
318        var c = this.getCurrentPageNum(b) + 1;
319        this.ias.fire("pageChange", [c, b, a]), this.lastPageNum = c
320    }, this.onPrev = function (a) {
321        var b = this,
322                c = b.ias,
323                d = c.getCurrentScrollOffset(c.$scrollContainer),
324                e = d - c.$scrollContainer.height(),
325                f = c.getFirstItem();
326        this.enabled = !1, this.pagebreaks.unshift([0, a]), c.one("rendered", function () {
327            for (var d = 1, g = b.pagebreaks.length; g > d; d++)
328                b.pagebreaks[d][0] = b.pagebreaks[d][0] + f.offset().top;
329            var h = b.getCurrentPageNum(e) + 1;
330            c.fire("pageChange", [h, e, a]), b.lastPageNum = h, b.enabled = !0
331        })
332    }, this
333};
334IASPagingExtension.prototype.initialize = function (a) {
335    this.ias = a, jQuery.extend(a.listeners, this.listeners)
336}, IASPagingExtension.prototype.bind = function (a) {
337    try {
338        a.on("prev", jQuery.proxy(this.onPrev, this), this.priority)
339    } catch (b) {
340    }
341    a.on("next", jQuery.proxy(this.onNext, this), this.priority), a.on("scroll", jQuery.proxy(this.onScroll, this), this.priority)
342}, IASPagingExtension.prototype.unbind = function (a) {
343    try {
344        a.off("prev", this.onPrev)
345    } catch (b) {
346    }
347    a.off("next", this.onNext), a.off("scroll", this.onScroll)
348}, IASPagingExtension.prototype.getCurrentPageNum = function (a) {
349    for (var b = this.pagebreaks.length - 1; b > 0; b--)
350        if (a > this.pagebreaks[b][0])
351            return b + 1;
352    return 1
353}, IASPagingExtension.prototype.getCurrentPagebreak = function (a) {
354    for (var b = this.pagebreaks.length - 1; b >= 0; b--)
355        if (a > this.pagebreaks[b][0])
356            return this.pagebreaks[b];
357    return null
358}, IASPagingExtension.prototype.priority = 500;
359var IASSpinnerExtension = function (a) {
360    return a = jQuery.extend({}, this.defaults, a), this.ias = null, this.uid = (new Date).getTime(), this.src = a.src, this.html = a.html.replace("{src}", this.src), this.showSpinner = function () {
361        var a = this.getSpinner() || this.createSpinner(),
362                b = this.ias.getLastItem();
363        b.after(a), a.fadeIn()
364    }, this.showSpinnerBefore = function () {
365        var a = this.getSpinner() || this.createSpinner(),
366                b = this.ias.getFirstItem();
367        b.before(a), a.fadeIn()
368    }, this.removeSpinner = function () {
369        this.hasSpinner() && this.getSpinner().remove()
370    }, this.getSpinner = function () {
371        var a = jQuery("#ias_spinner_" + this.uid);
372        return a.length > 0 ? a : !1
373    }, this.hasSpinner = function () {
374        var a = jQuery("#ias_spinner_" + this.uid);
375        return a.length > 0
376    }, this.createSpinner = function () {
377        var a = jQuery(this.html).attr("id", "ias_spinner_" + this.uid);
378        return a.hide(), a
379    }, this
380};
381IASSpinnerExtension.prototype.bind = function (a) {
382    this.ias = a, a.on("next", jQuery.proxy(this.showSpinner, this)), a.on("render", jQuery.proxy(this.removeSpinner, this));
383    try {
384        a.on("prev", jQuery.proxy(this.showSpinnerBefore, this))
385    } catch (b) {
386    }
387}, IASSpinnerExtension.prototype.unbind = function (a) {
388    a.off("next", this.showSpinner), a.off("render", this.removeSpinner);
389    try {
390        a.off("prev", this.showSpinnerBefore)
391    } catch (b) {
392    }
393}, IASSpinnerExtension.prototype.defaults = {
394    src: "data:image/gif;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4
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",
395    html: '<div class="ias-spinner"><i class="t4p-icon-repeat infinite-rotation-icon"></i></div>'
396};
397var IASTriggerExtension = function (a) {
398    return a = jQuery.extend({}, this.defaults, a), this.ias = null, this.html = a.html.replace("{text}", a.text), this.htmlPrev = a.htmlPrev.replace("{text}", a.textPrev), this.enabled = !0, this.count = 0, this.offset = a.offset, this.$triggerNext = null, this.$triggerPrev = null, this.showTriggerNext = function () {
399        if (!this.enabled)
400            return !0;
401        if (!1 === this.offset || ++this.count < this.offset)
402            return !0;
403        var a = this.$triggerNext || (this.$triggerNext = this.createTrigger(this.next, this.html)),
404                b = this.ias.getLastItem();
405        return b.after(a), a.fadeIn(), !1
406    }, this.showTriggerPrev = function () {
407        if (!this.enabled)
408            return !0;
409        var a = this.$triggerPrev || (this.$triggerPrev = this.createTrigger(this.prev, this.htmlPrev)),
410                b = this.ias.getFirstItem();
411        return b.before(a), a.fadeIn(), !1
412    }, this.onRendered = function () {
413        this.enabled = !0
414    }, this.createTrigger = function (a, b) {
415        var c, d = (new Date).getTime();
416        return b = b || this.html, c = jQuery(b).attr("id", "ias_trigger_" + d), c.hide(), c.on("click", jQuery.proxy(a, this)), c
417    }, this
418};
419IASTriggerExtension.prototype.bind = function (a) {
420    this.ias = a, a.on("next", jQuery.proxy(this.showTriggerNext, this), this.priority), a.on("rendered", jQuery.proxy(this.onRendered, this), this.priority);
421    try {
422        a.on("prev", jQuery.proxy(this.showTriggerPrev, this), this.priority)
423    } catch (b) {
424    }
425}, IASTriggerExtension.prototype.unbind = function (a) {
426    a.off("next", this.showTriggerNext), a.off("rendered", this.onRendered);
427    try {
428        a.off("prev", this.showTriggerPrev)
429    } catch (b) {
430    }
431}, IASTriggerExtension.prototype.next = function () {
432    this.enabled = !1, this.ias.pause(), this.$triggerNext && (this.$triggerNext.remove(), this.$triggerNext = null), this.ias.next()
433}, IASTriggerExtension.prototype.prev = function () {
434    this.enabled = !1, this.ias.pause(), this.$triggerPrev && (this.$triggerPrev.remove(), this.$triggerPrev = null), this.ias.prev()
435}, IASTriggerExtension.prototype.defaults = {
436    text: "Load more items",
437    html: '<div class="ias-trigger ias-trigger-next" style="text-align: center; cursor: pointer;"><a>{text}</a></div>',
438    textPrev: "Load previous items",
439    htmlPrev: '<div class="ias-trigger ias-trigger-prev" style="text-align: center; cursor: pointer;"><a>{text}</a></div>',
440    offset: 0
441}, IASTriggerExtension.prototype.priority = 1e3;

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.