PageSourceSearch

https://khabarlahariya.org/wp-content/plugins/orbit-bundle/dist/js/orbit-slides.js?ver=1790284089

js khabarlahariya.org collected 2026-09-24 21:09:35 UTC 6,158 bytes, 217 lines download raw bytes

1(function ($) {
2
3	$.fn.orbit_slides = function(){
4
5		return this.each(function() {
6
7			var $el 		= jQuery( this );
8
9      // GET THE TOTAL NUMBER OF SLIDES
10			function totalSlides(){ return parseInt( $el.find('.orbit-slide').length ); }
11
12			// GET CURRENT SLIDE IN THE LIST OF SLIDES THAT IS ACTIVE
13			function getCurrentSlide(){ return $el.find('.orbit-slide.active'); }
14
15			// GET CURRENT SLIDE VALUE
16			function getCurrentSlideValue(){ var $currentSlide = getCurrentSlide(); return $currentSlide.data('slide') + 1; }
17
18			// FIND THE NEXT SLIDE TO THE ONE THAT IS CURRENTLY ACTIVE
19			function getNextSlide(){
20				var $currentSlide 		= getCurrentSlide(),
21					currentSlideNumber 	= parseInt( $currentSlide.data('slide') ),
22					nextSlideNumber 	= currentSlideNumber + 1;
23
24				if( nextSlideNumber >= totalSlides() ){ nextSlideNumber = 0; }
25				return $el.find( '[data-slide~=' + nextSlideNumber + ']' );
26			}
27
28			// FIND THE PREVIOUS SLIDE TO THE ONE THAT IS CURRENTLY ACTIVE
29			function getPreviousSlide(){
30				var $currentSlide 		= getCurrentSlide(),
31					currentSlideNumber 	= parseInt( $currentSlide.data('slide') ),
32					prevSlideNumber 	= currentSlideNumber - 1;
33
34				if( prevSlideNumber < 0 ){ prevSlideNumber = totalSlides() - 1; }
35				return $el.find( '[data-slide~=' + prevSlideNumber + ']' );
36			}
37
38			function createProgressBar(){
39				var $progress = $el.find('.orbit-form-progress');
40
41				// START CREATING ELEMENTS WITHIN THE PROGRESS ELEMENT
42				var $progressText = jQuery( document.createElement( 'h5' ) );
43				$progressText.appendTo( $progress );
44
45	      var $progressBar = jQuery( document.createElement( 'div' ) );
46	      $progressBar.addClass( 'orbit-progress-bar' );
47	      $progressBar.appendTo( $progress );
48
49	      var $bar = jQuery( document.createElement( 'div' ) );
50	      $bar.addClass( 'bar' );
51	      $bar.appendTo( $progressBar );
52			}
53
54			/*
55			* SHOW THE OVERALL PROGRESS
56			* UPDATES WHENEVER THE NAVIGATION BUTTONS OF THE FORM ARE CLICKED
57			*/
58			function updateProgress(){
59				var $progress 		= $el.find('.orbit-form-progress'),
60					$progressText 	= $progress.find( "h5" ),
61	        $bar            = $progress.find( ".bar" );
62	        totalSlidesNum  = totalSlides(),
63	        currentSlideNum = getCurrentSlideValue(),
64	        progress        = currentSlideNum * 100 / totalSlidesNum;
65
66				// UPDATE PROGRESS TEXT
67	      $progressText.html( "Step " + currentSlideNum + " of " + totalSlidesNum );
68
69				// UPDATE PROGRESS BAR - ANIMATION
70	      $bar.css({ width: progress + "%" });
71			}
72
73
74
75			/*
76			*	TRANSITION OF SLIDE FROM CURRENT TO NEXT
77			* 	SCROLL THE BODY TO THE TOP OF THE SLIDE
78			*/
79			function slideTransition( $currentSlide, $nextSlide ){
80
81				$currentSlide.removeClass('active');
82				$nextSlide.addClass('active');
83
84				$([document.documentElement, document.body]).animate({
85					scrollTop: $el.offset().top - 100
86				}, 1000);
87
88				$nextSlide.trigger('orbit:afterTransition');
89
90				updateProgress();
91
92			}
93
94			/*
95			* EVENT TRIGGERED WHEN THE NEXT NAVIGATION BUTTON IS CLICKED
96			*/
97			$el.find('[data-behaviour~=orbit-slide-next]').click( function( ev ){
98
99				ev.preventDefault();
100
101				var $slide 		= getCurrentSlide(),
102					$nextSlide	= getNextSlide();
103
104				$slide.trigger('orbit:beforeNextTransition');
105
106				// BEFORE GOING TO THE NEXT SLIDE CHECK IF THE NEXT SLIDE CAN BE ACCESSIBLE
107				// EVENTS SUCH AS VALIDATION CAN BE HANDLED IN THIS PERIOD
108				if( $slide.data( 'slide-disable' ) != '1' ){ slideTransition( $slide, $nextSlide ); }
109
110			});
111
112			/*
113			* EVENT TRIGGERED WHEN THE PREVIOUS NAVIGATION BUTTON IS CLICKED
114			*/
115			$el.find('[data-behaviour~=orbit-slide-prev]').click( function( ev ){
116
117				ev.preventDefault();
118
119				var $slide 		= getCurrentSlide(),
120					$prevSlide	= getPreviousSlide();
121
122				slideTransition( $slide, $prevSlide );
123
124			});
125
126			// SHOW ERROR MESSAGE
127			function errorMessage( message ){
128				$el.find('.orbit-form-alert').html( message );
129		    $el.find('.orbit-form-alert').show();
130		  }
131
132			// VALIDATE PARTIAL FORM WITHIN THE ACTIVE SLIDE
133			function validatePartialForm( $slide ){
134
135				var flag 	    = true,
136		      errorText   = "Required fields should be filled.",
137					fields 	    = $slide.find(".orbit-field-required:not(.hide) input, .orbit-field-required:not(.hide) select, .orbit-field-required:not(.hide) textarea").serializeArray();
138
139				// SINGULAR FIELDS
140				$.each( fields, function( i, field ){
141					if( !field.value || field.value == "0" ){
142		        errorMessage( errorText );
143						flag = false;
144		      }
145		    });
146
147				// SEPERATE CASE FOR CHECKBOXES
148		    $slide.find( '.orbit-field-required input[type=checkbox]' ).each( function( i, el ){
149		      var $el       = jQuery( el ),
150		        $parent     = $el.closest('.orbit-field-required'),
151		        num_checked = $parent.find('input[type="checkbox"]:checked').length;
152
153		      if( num_checked <= 0 ){
154		        errorMessage( errorText );
155		        flag = false;
156		      }
157
158		    });
159
160		    return flag;
161			}
162
163			// PARTIAL FORM VALIDATION EACH TIME THE NEXT BUTTON IS CLICKED
164		  $el.on('orbit:beforeNextTransition', function( ev ){
165
166		    $el.find('.orbit-form-alert').hide();
167
168		    var $slide = getCurrentSlide(),
169							flag = validatePartialForm( $slide );
170
171		    $slide.data('slide-disable', '1');
172
173				if( flag ){ $slide.data('slide-disable', '0'); }
174
175		  });
176
177			// FORM SUBMISSION
178			$el.closest( 'form' ).submit( function(event){
179
180		    $el.find('.orbit-form-alert').hide();
181
182		    var $slide = getCurrentSlide(),
183							flag = validatePartialForm( $slide );
184
185				if( !flag ){  event.preventDefault(); }
186
187			} );
188
189			// INITIALIZE
190			function init(){
191
192				// ASSIGN SLIDE ID TO EACH SLIDE
193				$el.find('.orbit-slide').each( function( i, slide ){
194          jQuery( slide ).attr( 'data-slide', i );
195          if( i == 0 ){ jQuery( slide ).addClass('active'); }
196        });
197
198				// CREATE PROGRESS BAR FOR THE MULTIPART FORM
199				createProgressBar();
200				updateProgress();
201
202				// HIDE FORM ALERT ON LOAD
203				$el.find('.orbit-form-alert').hide();
204			}
205
206			init();
207
208
209		});
210
211	};
212
213}(jQuery));
214
215jQuery('document').ready(function(){
216	jQuery( '[data-behaviour~=orbit-slides]' ).orbit_slides();
217});

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.