![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/hessa.corals.io/wp-content/plugins/advanced-popups/public/js/ |
"use strict"; jQuery(document).ready(function($) { var adpPopup = {}; ( function() { var $this; adpPopup = { sPrevious : window.scrollY, sDirection: 'down', /* * Initialize */ init: function( e ) { $this = adpPopup; $this.popupInit( e ); // Init events. $this.events( e ); }, /* * Events */ events: function( e ) { // Custom Events $( document ).on( 'click', '.adp-popup-close', $this.closePopup ); $( document ).on( 'click', '.adp-popup-accept', $this.acceptPopup ); $( document ).on( 'click', '.adp-popup-accept', $this.closePopup ); // Checking this will cause popup to close when user presses key. $( document ).keyup(function(e) { // Press ESC to Close. if ( e.key === 'Escape' ) { $( '.adp-popup-open[data-esc-close="true"]' ).each(function(index, popup) { $this.closePopup(popup); }); } // Press F4 to Close. if ( e.key === 'F4' ) { $( '.adp-popup-open[data-f4-close="true"]' ).each(function(index, popup) { $this.closePopup(popup); }); } }); // Checking this will cause popup to close when user clicks on overlay. $( document ).on( 'click', '.adp-popup-overlay', function( e ) { $this.closePopup( $( this).prev() ); } ); }, /* * Init popup elements */ popupInit: function( e ) { // Set scroll direction. $( document ).on( 'scroll', function() { let scrollCurrent = window.scrollY; // Set scroll temporary vars. if ( scrollCurrent > $this.sPrevious ) { $this.sDirection = 'down'; } else { $this.sDirection = 'up'; } $this.sPrevious = scrollCurrent; }); // Open popup $( '.adp-popup' ).each(function(index, popup) { // Manual Launch. if ( 'manual' === $( popup ).data( 'open-trigger' ) ) { let selector = $( popup ).data( 'open-manual-selector' ); if ( selector ) { $( document ).on( 'click', selector, function( e ) { event.preventDefault(); $( popup ).removeClass( 'adp-popup-already-opened' ); $this.openPopup( popup ); } ); } } // Checks whether a popup should be displayed or not. if ( ! $this.isAllowPopup( popup ) ) { return; } $this.openTriggerPopup( popup ); }); }, /* * Trigger open popup */ openTriggerPopup: function( e ) { let popup = ( e.originalEvent ) ? this : e; var trigger = $( popup ).data( 'open-trigger' ); // Page Viewed. if ( 'viewed' === trigger ) { $this.openPopup( popup ); } // Time Delay. if ( 'delay' === trigger ) { setTimeout( function() { $this.openPopup( popup ); }, $( popup ).data( 'open-delay-number' ) * 1000 ); } // Exit Intent. if ( 'exit' === trigger ) { var showExit = true; document.addEventListener( "mousemove", function( e ) { // Get current scroll position var scroll = window.pageYOffset || document.documentElement.scrollTop; if ( ( e.pageY - scroll ) < 7 && showExit ) { $this.openPopup( popup ); showExit = false; } } ); } // Scroll Position. if ( 'read' === trigger || 'scroll' === trigger ) { var pointScrollType = $( popup ).data( 'open-scroll-type' ); var pointScrollPosition = $( popup ).data( 'open-scroll-position' ); if ( 'read' === trigger ) { pointScrollType = '%'; pointScrollPosition = 100; } // Event scroll. $( document ).on( 'scroll', function() { // Type px. if ( 'px' === pointScrollType ) { if ( window.scrollY >= pointScrollPosition ) { $this.openPopup( popup ); } } // Type %. if ( '%' === pointScrollType ) { if ( $this.getScrollPercent() >= pointScrollPosition ) { $this.openPopup( popup ); } } } ); } // Accept Agreement. if ( 'accept' === trigger ) { let accept = $this.getCookie( 'adp-popup-accept-' + $( popup ).data( 'id' ) || 0 ); if ( ! accept ) { $this.openPopup( popup ); } } }, /* * Trigger close popup */ closeTriggerPopup: function( e ) { let popup = ( e.originalEvent ) ? this : e; var trigger = $( popup ).data( 'close-trigger' ); // Time Delay. if ( 'delay' === trigger ) { setTimeout( function() { $this.closePopup(popup); }, $( popup ).data( 'close-delay-number' ) * 1000 ); } // Scroll Position. if ( 'scroll' === trigger ) { var pointScrollType = $( popup ).data( 'close-scroll-type' ); var pointScrollPosition = $( popup ).data( 'close-scroll-position' ); var initScrollPx = $( popup ).data( 'init-scroll-px' ); var initScrollPercent = $( popup ).data( 'init-scroll-percent' ); // Event scroll. $( document ).on( 'scroll', function() { // Type px. if ( 'px' === pointScrollType ) { if ( 'up' === $this.sDirection && window.scrollY < ( initScrollPx - pointScrollPosition ) ) { $this.closePopup( popup ); } if ( 'down' === $this.sDirection && window.scrollY >= ( initScrollPx + pointScrollPosition ) ) { $this.closePopup( popup ); } } // Type %. if ( '%' === pointScrollType ) { if ( 'up' === $this.sDirection && $this.getScrollPercent() < ( initScrollPercent - pointScrollPosition ) ) { $this.closePopup(popup); } if ( 'down' === $this.sDirection && $this.getScrollPercent() >= ( initScrollPercent + pointScrollPosition ) ) { $this.closePopup(popup); } } } ); } }, /* * Open popup */ openPopup: function( e ) { let popup = ( e.originalEvent ) ? this : e; if ( $( popup ).hasClass( 'adp-popup-open' ) ) { return; } // Check already opened. if ( $( popup ).hasClass( 'adp-popup-already-opened' ) ) { return; } // Display popup. $( popup ).addClass( 'adp-popup-open' ); // Set current scroll. $( popup ).data( 'init-scroll-px', window.scrollY ); $( popup ).data( 'init-scroll-percent', $this.getScrollPercent() ); // Hide body scroll. if ( $( popup ).is( '[data-body-scroll-disable="true"]' ) ) { $( 'body' ).addClass( 'adp-popup-scroll-hidden' ); } // Set Cookie of Limit display. let limit = parseInt( $this.getCookie( 'adp-popup-' + $( popup ).data( 'id' ) ) || 0 ) + 1; $this.setCookie( 'adp-popup-' + $( popup ).data( 'id' ), limit, { expires: $( popup ).data( 'limit-lifetime' ) } ); // Open animation. let animation = $( popup ).data( 'open-animation' ); $this.applyAnimation( popup, animation ); // Init close trigger. $this.closeTriggerPopup( popup ); }, /* * Accept popup */ acceptPopup: function( e ) { let $el = ( e.originalEvent ) ? this : e; // Get popup container. let popup = $( $el ).closest( '.adp-popup' ); // Set Cookie of Accept. $this.setCookie( 'adp-popup-accept-' + $( popup ).data( 'id' ), 1, { expires: 360 } ); }, /* * Close popup */ closePopup: function( e ) { let $el = ( e.originalEvent ) ? this : e; // Get popup container. let popup = $( $el ).closest( '.adp-popup' ); // Close animation. let animation = $( popup ).data( 'exit-animation' ); $this.applyAnimation( popup, animation, function() { // Already opened. $( popup ).addClass( 'adp-popup-already-opened' ); // Hide popup. $( popup ).removeClass( 'adp-popup-open' ); // Remove classes from body. $( 'body' ).removeClass( 'adp-popup-scroll-hidden' ); } ); }, /* * Checks whether a popup should be displayed or not */ isAllowPopup: function( e ) { let popup = ( e.originalEvent ) ? this : e; // Has user seen this popup before? let limitDisplay = parseInt( $( popup ).data( 'limit-display' ) || 0 ); let limitDisplayCookie = parseInt( $this.getCookie( 'adp-popup-' + $( popup ).data( 'id' ) ) ); if ( limitDisplay && limitDisplayCookie && limitDisplayCookie >= limitDisplay ) { return; } return true; }, /* * Apply animation */ applyAnimation: function( el, name, callback ) { var popup = $( el ).closest( '.adp-popup' ); if ( typeof callback === 'function' ) { var overlayName = 'popupExitFade'; } else { var overlayName = 'popupOpenFade'; } // Overlay Animation. $( popup ).next( '.adp-popup-overlay' ).addClass( 'adp-popup-animated ' + overlayName ) .one( 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() { $( this ).removeClass( 'adp-popup-animated ' + overlayName ); } ); // Wrap Animation. $( popup ).find( '.adp-popup-wrap' ).addClass( 'adp-popup-animated ' + name ) .one( 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() { // remove the animation classes after animation ends // required in order to apply new animation on close $( this ).removeClass( 'adp-popup-animated ' + name ); if ( typeof callback === 'function' ) { callback(); } } ); }, /* * Set cookie */ getCookie: function( name ) { var matches = document.cookie.match( new RegExp( "(?:^|; )" + name.replace( /([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1' ) + "=([^;]*)" ) ); return matches ? decodeURIComponent( matches[ 1 ] ) : undefined; }, /* * Set cookie */ setCookie: function( name, value, options ) { options = options || {}; options.path = options.hasOwnProperty( 'path' ) ? options.path : '/'; options.expires = parseInt( options.expires ); if ( typeof options.expires == "number" && options.expires ) { options.expires = new Date().setDate(new Date().getDate() + options.expires ); options.expires = new Date(options.expires).toUTCString(); } value = encodeURIComponent( value ); var updatedCookie = name + "=" + value; for ( var propName in options ) { updatedCookie += "; " + propName; var propValue = options[ propName ]; if ( propValue !== true ) { updatedCookie += "=" + propValue; } } document.cookie = updatedCookie; }, /* * Get scroll percent */ getScrollPercent: function() { var h = document.documentElement, b = document.body, st = 'scrollTop', sh = 'scrollHeight'; return (h[st]||b[st]) / ((h[sh]||b[sh]) - h.clientHeight) * 100; } }; } )(); // Initialize. adpPopup.init(); });