%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 14.207.165.8 / Your IP : 216.73.216.26 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/var/www/html/ppaobm/vendor/webcreate/jquery-ias/src/extension/ |
Upload File : |
/**
* IAS Paging Extension
* An IAS extension providing additional events
* https://infiniteajaxscroll.com
*
* This file is part of the Infinite AJAX Scroll package
*
* Copyright 2014-2018 Webcreate (Jeroen Fiege)
*/
var IASPagingExtension = function() {
this.ias = null;
this.pagebreaks = [[0, document.location.toString()]];
this.lastPageNum = 1;
this.enabled = true;
this.listeners = {
pageChange: new IASCallbacks(jQuery)
};
/**
* Fires pageChange event
*
* @param currentScrollOffset
* @param scrollThreshold
*/
this.onScroll = function(currentScrollOffset, scrollThreshold) {
if (!this.enabled) {
return;
}
var ias = this.ias,
currentPageNum = this.getCurrentPageNum(currentScrollOffset),
currentPagebreak = this.getCurrentPagebreak(currentScrollOffset),
urlPage;
if (this.lastPageNum !== currentPageNum) {
urlPage = currentPagebreak[1];
ias.fire('pageChange', [currentPageNum, currentScrollOffset, urlPage]);
}
this.lastPageNum = currentPageNum;
};
/**
* Keeps track of pagebreaks
*
* @param url
*/
this.onNext = function(url) {
var currentScrollOffset = this.ias.getCurrentScrollOffset(this.ias.$scrollContainer);
this.pagebreaks.push([currentScrollOffset, url]);
// trigger pageChange and update lastPageNum
var currentPageNum = this.getCurrentPageNum(currentScrollOffset) + 1;
this.ias.fire('pageChange', [currentPageNum, currentScrollOffset, url]);
this.lastPageNum = currentPageNum;
};
/**
* Keeps track of pagebreaks
*
* @param url
*/
this.onPrev = function(url) {
var self = this,
ias = self.ias,
currentScrollOffset = ias.getCurrentScrollOffset(ias.$scrollContainer),
prevCurrentScrollOffset = currentScrollOffset - ias.$scrollContainer.height(),
$firstItem = ias.getFirstItem();
this.enabled = false;
this.pagebreaks.unshift([0, url]);
ias.one('rendered', function() {
// update pagebreaks
for (var i = 1, l = self.pagebreaks.length; i < l; i++) {
self.pagebreaks[i][0] = self.pagebreaks[i][0] + $firstItem.offset().top;
}
// trigger pageChange and update lastPageNum
var currentPageNum = self.getCurrentPageNum(prevCurrentScrollOffset) + 1;
ias.fire('pageChange', [currentPageNum, prevCurrentScrollOffset, url]);
self.lastPageNum = currentPageNum;
self.enabled = true;
});
};
return this;
};
/**
* @public
*/
IASPagingExtension.prototype.initialize = function(ias) {
this.ias = ias;
// expose the extensions listeners
jQuery.extend(ias.listeners, this.listeners);
};
/**
* @public
*/
IASPagingExtension.prototype.bind = function(ias) {
try {
ias.on('prev', jQuery.proxy(this.onPrev, this), this.priority);
} catch (exception) {}
ias.on('next', jQuery.proxy(this.onNext, this), this.priority);
ias.on('scroll', jQuery.proxy(this.onScroll, this), this.priority);
};
/**
* @public
* @param {object} ias
*/
IASPagingExtension.prototype.unbind = function(ias) {
try {
ias.off('prev', this.onPrev);
} catch (exception) {}
ias.off('next', this.onNext);
ias.off('scroll', this.onScroll);
};
/**
* Returns current page number based on scroll offset
*
* @param {number} scrollOffset
* @returns {number}
*/
IASPagingExtension.prototype.getCurrentPageNum = function(scrollOffset) {
for (var i = (this.pagebreaks.length - 1); i > 0; i--) {
if (scrollOffset > this.pagebreaks[i][0]) {
return i + 1;
}
}
return 1;
};
/**
* Returns current pagebreak information based on scroll offset
*
* @param {number} scrollOffset
* @returns {number}|null
*/
IASPagingExtension.prototype.getCurrentPagebreak = function(scrollOffset) {
for (var i = (this.pagebreaks.length - 1); i >= 0; i--) {
if (scrollOffset > this.pagebreaks[i][0]) {
return this.pagebreaks[i];
}
}
return null;
};
/**
* @public
* @type {number}
*/
IASPagingExtension.prototype.priority = 500;