| Server IP : 167.179.152.94 / Your IP : 216.73.216.169 Web Server : Apache/2.4.66 (Debian) System : Linux 6d8cbb3dc321 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64 User : ( 1000) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/visual-portfolio/assets/js/ |
Upload File : |
import $ from 'jquery';
import rafSchd from 'raf-schd';
import { throttle } from 'throttle-debounce';
const $wnd = $(window);
// Init infinite scroll pagination.
$(document).on('initEvents.vpf', (event, self) => {
if (event.namespace !== 'vpf' || self.options.pagination !== 'infinite') {
return;
}
const evp = `.vpf-uid-${self.uid}`;
const scrollThreshold = 400;
let visibilityCheckBusy = false;
function checkVisibilityAndLoad() {
if (visibilityCheckBusy || !self.options.nextPageUrl) {
return;
}
visibilityCheckBusy = true;
const rect = self.$item[0].getBoundingClientRect();
if (
rect.bottom > 0 &&
rect.bottom - scrollThreshold <= window.innerHeight
) {
self.loadNewItems(self.options.nextPageUrl, false, () => {
setTimeout(() => {
visibilityCheckBusy = false;
checkVisibilityAndLoad();
}, 300);
});
} else {
visibilityCheckBusy = false;
}
}
checkVisibilityAndLoad();
$wnd.on(
`load${evp} scroll${evp} resize${evp} orientationchange${evp}`,
throttle(
150,
rafSchd(() => {
checkVisibilityAndLoad();
})
)
);
});