Viewing File: /home/maglabs/bambinos/wp-content/themes/juliette/assets/addon/js/countdown-timer.js
( function ( $ ) {
"use strict";
/*
* Countdown handler Function.
*
*/
var NovaWorksCountDownTimer = function( $scope ) {
var timeInterval,
$coutdown = $scope.find( '[data-due-date]' ),
endTime = new Date( $coutdown.data( 'due-date' ) * 1000 ),
elements = {
days: $coutdown.find( '[data-value="days"]' ),
hours: $coutdown.find( '[data-value="hours"]' ),
minutes: $coutdown.find( '[data-value="minutes"]' ),
seconds: $coutdown.find( '[data-value="seconds"]' )
};
NovaWorksCountDownTimer.updateClock = function() {
var timeRemaining = NovaWorksCountDownTimer.getTimeRemaining( endTime );
$.each( timeRemaining.parts, function( timePart ) {
var $element = elements[ timePart ];
if ( $element.length ) {
$element.html( this );
}
} );
if ( timeRemaining.total <= 0 ) {
clearInterval( timeInterval );
}
};
NovaWorksCountDownTimer.initClock = function() {
NovaWorksCountDownTimer.updateClock();
timeInterval = setInterval( NovaWorksCountDownTimer.updateClock, 1000 );
};
NovaWorksCountDownTimer.splitNum = function( num ) {
var num = num.toString(),
arr = [],
reult = '';
if ( 1 === num.length ) {
num = 0 + num;
}
arr = num.match(/\d{1}/g);
$.each( arr, function( index, val ) {
reult += '<span class=" novaworks-countdown-timer__digit">' + val + '</span>';
});
return reult;
};
NovaWorksCountDownTimer.getTimeRemaining = function( endTime ) {
var timeRemaining = endTime - new Date(),
seconds = Math.floor( ( timeRemaining / 1000 ) % 60 ),
minutes = Math.floor( ( timeRemaining / 1000 / 60 ) % 60 ),
hours = Math.floor( ( timeRemaining / ( 1000 * 60 * 60 ) ) % 24 ),
days = Math.floor( timeRemaining / ( 1000 * 60 * 60 * 24 ) );
if ( days < 0 || hours < 0 || minutes < 0 ) {
seconds = minutes = hours = days = 0;
}
return {
total: timeRemaining,
parts: {
days: NovaWorksCountDownTimer.splitNum( days ),
hours: NovaWorksCountDownTimer.splitNum( hours ),
minutes: NovaWorksCountDownTimer.splitNum( minutes ),
seconds: NovaWorksCountDownTimer.splitNum( seconds )
}
};
};
NovaWorksCountDownTimer.initClock();
return {
init : function(){
NovaWorksCountDownTimer.initClock();
}
}
}
$( window ).on( 'elementor/frontend/init', function () {
elementorFrontend.hooks.addAction( 'frontend/element_ready/novaworks-countdown-timer.default', NovaWorksCountDownTimer );
});
} )( jQuery );
Back to Directory
File Manager