1 2// handler for custom div scroll target dynamic callback execution.. 3(function($) { 4 var self = this; 5 var cxre_lazyload_targets = undefined; 6 var hasScrollMonitorForDynamics = false; 7 8 window.registerLazyLoad = function($el, f_cb) { 9 if (typeof(cxre_lazyload_targets)==='undefined') { 10 cxre_lazyload_targets = {}; 11 setTimeout(lazyLoadDynamic_ScrollHandler, 700); 12 } 13 var new_key = "key_"+(Object.keys(cxre_lazyload_targets).length+1); 14 cxre_lazyload_targets[new_key]={el: $el, cb: f_cb}; 15 }; 16 17 function lazyLoadDynamic_ScrollHandler() { 18 if (!hasScrollMonitorForDynamics) { 19 hasScrollMonitorForDynamics = true; 20 setTimeout(function() { 21 $(window).scroll(lazyLoadDynamic_ScrollHandler); 22 }, 200); 23 } 24 var keys = Object.keys(cxre_lazyload_targets); 25 if (keys.length<1) { 26 $(window).off('scroll',lazyLoadDynamic_ScrollHandler); 27 return; 28 } 29 var av_removables=[]; 30 for (var i = 0;i<keys.length;i++) { 31 var key = keys[i]; 32 var item = cxre_lazyload_targets[key]; 33 if (isScrolledIntoView(item.el)) { 34 if (typeof(item.cb)==='function') { 35 item.cb(); 36 } 37 console.log("Executing: "+key); 38 av_removables.push(key); 39 } 40 } 41 for (var i=0;i<av_removables.length;i++) { 42 delete cxre_lazyload_targets[av_removables[i]]; 43 } 44 } 45 46 function init() { 47 if (typeof(window.CXRE_FEATURES)==='undefined') CXRE_FEATURES=[]; 48 CXRE_FEATURES.push(this); 49 } 50 init(); 51 52})(jQuery);
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.