/wp-content/plugins/cookie-notice/js/front.js@ver=1.2.34.js
https://gitlab.com/alex4ip/misticlighting · JavaScript · 87 lines · 61 code · 16 blank · 10 comment · 15 complexity · e53da5f8175500bfac3bd9e865431693 MD5 · raw file
- ( function ( $ ) {
- $( document ).ready( function () {
- var cnDomNode = $( '#cookie-notice' );
- // handle set-cookie button click
- $( document ).on( 'click', '.cn-set-cookie', function ( e ) {
- e.preventDefault();
- $( this ).setCookieNotice( $( this ).data( 'cookie-set' ) );
- } );
- // handle on scroll
- if ( cnArgs.onScroll == 'yes' ) {
- var cnHandleScroll = function () {
- var win = $( this );
- if ( win.scrollTop() > parseInt( cnArgs.onScrollOffset ) ) {
- // If user scrolls at least 100 pixels
- win.setCookieNotice( 'accept' );
- win.off( 'scroll', cnHandleScroll ); //remove itself after cookie accept
- }
- };
- $( window ).on( 'scroll', cnHandleScroll );
- }
- // display cookie notice
- if ( document.cookie.indexOf( 'cookie_notice_accepted' ) === -1 ) {
- if ( cnArgs.hideEffect === 'fade' ) {
- cnDomNode.fadeIn( 300 );
- } else if ( cnArgs.hideEffect === 'slide' ) {
- cnDomNode.slideDown( 300 );
- } else {
- cnDomNode.show();
- }
- $( 'body' ).addClass( 'cookies-not-accepted' );
- } else {
- cnDomNode.removeCookieNotice();
- }
- } );
- // set Cookie Notice
- $.fn.setCookieNotice = function ( cookie_value ) {
- var cnTime = new Date(),
- cnLater = new Date(),
- cnDomNode = $( '#cookie-notice' );
-
- self = this;
- // set expiry time in seconds
- cnLater.setTime( parseInt( cnTime.getTime() ) + parseInt( cnArgs.cookieTime ) * 1000 );
- // set cookie
- cookie_value = cookie_value === 'accept' ? true : false;
- document.cookie = cnArgs.cookieName + '=' + cookie_value + ';expires=' + cnLater.toGMTString() + ';' + ( cnArgs.cookieDomain !== undefined && cnArgs.cookieDomain !== '' ? 'domain=' + cnArgs.cookieDomain + ';' : '' ) + ( cnArgs.cookiePath !== undefined && cnArgs.cookiePath !== '' ? 'path=' + cnArgs.cookiePath + ';' : '' );
- // trigger custom event
- $.event.trigger( {
- type : "setCookieNotice",
- value : cookie_value,
- time : cnTime,
- expires : cnLater
- } );
- // hide message container
- if ( cnArgs.hideEffect === 'fade' ) {
- cnDomNode.fadeOut( 300, function () {
- self.removeCookieNotice();
- } );
- } else if ( cnArgs.hideEffect === 'slide' ) {
- cnDomNode.slideUp( 300, function () {
- self.removeCookieNotice();
- } );
- } else {
- self.removeCookieNotice();
- }
- };
- // remove Cookie Notice
- $.fn.removeCookieNotice = function ( cookie_value ) {
- $( '#cookie-notice' ).remove();
- $( 'body' ).removeClass( 'cookies-not-accepted' );
- }
- } )( jQuery );