🏠 Root
/
home
/
a
/
r
/
t
/
artorgp
/
www
/
wp-content
/
plugins
/
visual-portfolio
/
assets
/
js
/
Editing: pagination-infinite.js
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(); } ) ) ); } );
Save
Cancel