PageSourceSearch

https://mediashift.org/wp-content/plugins/infinite-scroll-and-load…?ver=a7c30f224167e9220d31a5e5f5709002

js mediashift.org collected 2026-09-24 08:49:01 UTC 4,545 bytes, 148 lines download raw bytes

1(function ( $,window, document ) {
2 
3    $.fn.infiniteLoad = function(options) {
4		
5         var settings = $.extend({   
6			navSelector: '', //Navigation selector/Pagination selector e.g. "nav.navigation"
7            contentSelector: '',//Main content element selector e.g. #main
8            nextSelector: '',//Navigation next element selector e.g. nav.navigation a.next
9			itemSelector: '',//Item container element in loop e.g. article.post
10			paginationType: 'infinite',//Pagination type Infinite scroll or Load more button.Default  "infinite"
11			loadingImage:'',//Loading image url.Default null
12			loadingButtonLabel: 'Load More',//Load more button text.Default "Load More"
13			loadingButtonClass: '',//Load more button additional class.Default null
14			loadingFinishedText: 'No More Posts Available',//Text to show when loading is finished.Default "No More Posts Available"
15        }, options );
16		
17		var loading=false;
18		var loaded=false;
19		var url=false;
20		var infiniteHtml='';
21		var moreHtml='';
22		
23		
24		var _init=function()
25		{
26			//check if all the elements given are correct
27			if($(settings.navSelector).length && $(settings.contentSelector).length && $(settings.nextSelector).length && $(settings.itemSelector).length)
28			{				
29				url=$(settings.nextSelector).attr( 'href' );
30				_setup_element();				
31			}
32			else
33			{
34				return false;
35			}	
36		}
37		
38		var _setup_element=function(){
39			
40			$(settings.navSelector).hide();
41			
42			infiniteHtml=((settings.loadingImage!='')?'<img src="'+settings.loadingImage+'" />':'');
43			moreHtml='<input type="button" class="'+settings.loadingButtonClass+'" value="'+settings.loadingButtonLabel+'" />';
44			
45			switch(settings.paginationType) {
46			case 'infinite':
47				$(settings.navSelector).before('<div class="pix-wrapper pix-loader">'+infiniteHtml+'</div>');
48				break;
49			case 'more':
50				$(settings.navSelector).before('<div class="pix-wrapper pix-load-more">'+moreHtml+'</div>');
51				break;
52			default:
53				$(settings.navSelector).before('<div class="pix-wrapper">Loading.....</div>');
54			}			
55		
56		}
57		
58		var _load=function(){
59			
60			//check if url exixts
61			if(!url)
62			return false;
63			
64			loading = true;
65			
66			 var lastElem   = $( settings.contentSelector ).find( settings.itemSelector ).last();
67			 
68			 //custom trigger when start loading
69			 $(document).trigger('pix_infinite_load_start');			
70			
71			// ajax call
72            $.ajax({
73                // params
74                url         : url,
75                dataType    : 'html',
76                success     : function (response) {
77
78				loading = false;
79				
80				 if(settings.paginationType=='infinite')
81				 $('.pix-loader').hide();
82				
83				
84				 var obj  = $(response),
85                        elem = obj.find( settings.itemSelector ),
86                        next = obj.find( settings.nextSelector );
87				
88				lastElem.after( elem );	
89				 
90				 //custom trigger when successfully loaded
91				 $(document).trigger('pix_infinite_load_success');
92				
93					if( next.length ) {
94                        url = next.attr( 'href' );
95                    }
96                    else {
97                       loaded=true;
98					   
99						//custom trigger when successfully loaded all pages
100						$(document).trigger('pix_infinite_load_complete');
101					 
102                 	}
103				
104				}
105            });
106			
107		};
108		
109		$(window).on('scroll',function(){
110									   
111			if(! loading && ! loaded && settings.paginationType=='infinite' && $(window).scrollTop() >= $(settings.itemSelector).last().offset().top + $(settings.itemSelector).last().outerHeight() - window.innerHeight)	
112			{
113			   _load();
114			}	
115		});
116		
117		$(document).on('click','.pix-load-more',function(){
118			if(! loading && ! loaded && settings.paginationType=='more'){
119				
120				$('.pix-wrapper').html(infiniteHtml);
121				
122				_load();								 
123			}
124		});
125		
126		$(document).on('pix_infinite_load_start',function(){
127			if(settings.paginationType=='infinite')
128			$('.pix-wrapper').show();												   
129		});
130		
131		$(document).on('pix_infinite_load_success',function(){
132			if(settings.paginationType=='infinite')
133			$('.pix-wrapper').hide();
134			else if(settings.paginationType=='more')
135			$('.pix-wrapper').html(moreHtml);
136		});
137		
138		$(document).on('pix_infinite_load_complete',function(){	
139			 $('.pix-wrapper').html(settings.loadingFinishedText).show();
140		});
141		
142		//Initialization
143		_init();
144		
145		
146    };
147 
148}( jQuery,window, document ));

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.