/* * File : js/jt-popup.js * Author : STUDIO-JT (KMS) * Guideline: JTstyle.1.1 * * SUMMARY: * 1) */ window.JT_BAD_UX_POPUP = {}; jQuery( function ( $ ) { window.JT_BAD_UX_POPUP.init = function () { var $container = $( '#jt_popup_container' ); var $popup_group = $( '#jt_popup_playground' ); var $overlay = $( '#jt_popup_overlay' ); var is_mobile = $( 'html' ).hasClass( 'mobile' ) || $( 'html' ).hasClass( 'tablet' ) ; var popup_count = 0; // Popup Number var language = $( 'html' ).attr( 'lang' ) ; var home_url = ''; is_mobile = is_mobile || ( ! is_mobile && navigator.maxTouchPoints && navigator.maxTouchPoints > 2 && /MacIntel/.test( navigator.platform ) ); try { home_url = ( window.__JTPOP.home_url || '' ); } catch ( e ) { } $.ajax( { url: home_url + '/wp-json/jt-bad-ux-popup/list/', method: 'get', async: false, data: { type: ( is_mobile ? 'mobile' : 'pc' ), location: location.href, language: ( typeof window.__JTPOP.language !== 'undefined' ? window.__JTPOP.language : language ), is_home : ( typeof window.__JTPOP.is_home !== 'undefined' ? window.__JTPOP.is_home : $( 'body' ).hasClass( 'home' ) ), blog_id : ( typeof window.__JTPOP.blog_id !== 'undefined' ? window.__JTPOP.blog_id : null ) }, success: function ( res ) { if ( res && typeof res.html !== 'undefined' ) { $( 'body' ).append( res.html ); $container = $( '#jt_popup_container' ); $popup_group = $( '#jt_popup_playground' ); $overlay = $( '#jt_popup_overlay' ); } }, error : function ( res ) { $.ajax( { url: home_url + '/wp-admin/admin-ajax.php', method: 'get', async: false, data: { action: 'jt_bad_ux_popup', type: ( is_mobile ? 'mobile' : 'pc' ), location: location.href, language: ( typeof window.__JTPOP.language !== 'undefined' ? window.__JTPOP.language : language ), is_home : ( typeof window.__JTPOP.is_home !== 'undefined' ? window.__JTPOP.is_home : $( 'body' ).hasClass( 'home' ) ), blog_id : ( typeof window.__JTPOP.blog_id !== 'undefined' ? window.__JTPOP.blog_id : null ) }, success: function ( res ) { if ( res && typeof res.html !== 'undefined' ) { $( 'body' ).append( res.html ); $container = $( '#jt_popup_container' ); $popup_group = $( '#jt_popup_playground' ); $overlay = $( '#jt_popup_overlay' ); } } } ); } } ); // Popup Cookie Check $( '.jt_popup_item' ).each( function () { if ( $.cookie( $( this ).attr( 'id' ) ) == 'today_none' ) { $( this ).remove(); } else { popup_count++; } } ); // Start Device PC Popup if ( is_mobile == false ) { $( '.jt_popup_item' ).each( function () { var $this = $( this ); $this.imagesLoaded( function () { // Single Popup (Only One) if ( popup_count == 1 && ! parseInt( $( '.jt_popup_item' ).css( 'left' ).replace( 'px', '' ) ) && ! parseInt( $( '.jt_popup_item' ).css( 'top' ).replace( 'px', '' ) ) ) { $( '.jt_popup_item' ).css( { 'position': 'fixed', 'margin-top': - ( $( '.jt_popup_item' ).height() / 2 ) + 'px', 'margin-left': - ( $( '.jt_popup_item' ).width() / 2 ) + 'px', 'top': '50%', 'left': '50%' } ); } // Show Popup if ( ! $overlay.is( ':visible' ) ) { $overlay.fadeIn( 'fast' ); } $this.fadeIn( 'fast' ); // Popup Drag - jQuery UI $this.draggable( { start: function ( event, ui ) { var popupZIndex = 0; $( '.jt_popup_item' ).each( function () { popupZIndex = ( popupZIndex < parseInt( $( this ).css( 'z-index' ) ) ? parseInt( $( this ).css( 'z-index' ) ) : popupZIndex ); } ); $this.css( 'z-index', popupZIndex + 1 ); } } ); } ); } ); // Custom Cursor & Close All Popup $overlay.on( 'click', function () { // Close All $container.fadeOut( 'fast', function () { $( this ).remove(); } ); } ); } // End Device PC Popup // Start Device Mobile Popup if ( is_mobile == true ) { if ( $( '.jt_popup_item' ).length > 0 ) { // Scroll Remove $( 'body' ).addClass( 'bad_ux_popup_scroll_remove' ); // Overlay Height 100% window.scroll( function () { $overlay.height( window.innerHeight ); } ); // Two Or More slide if ( $( '.jt_popup_item' ).length > 1 ) { // Show Popup $popup_group.on( 'init', function ( event, slick ) { $overlay.fadeIn( 'fast' ); $( '#jt_popup_mobile_close_all' ).fadeIn( 'fast' ); $popup_group.css( { opacity: 1, visibility: 'visible' } ); } ); // Slider $popup_group.slick( { slidesToShow: 1, slidesToScroll: 1, infinite: false, autoplay: false, speed: 300, swipeToSlide: true, arrows: false, dots: false, variableWidth: true, centerMode: false, centerPadding: 0 } ); // Only One Slide } else { $( '#jt_popup_container' ).addClass( 'only_one_slide' ); $( '.jt_popup_item' ).each( function () { var $this = $( this ); $this.find( 'img' ).on( 'load', function () { $( '#jt_popup_playground' ).css( { 'margin-left': - ( $( '.jt_popup_item' ).width() / 2 ) + 'px', 'left': '50%' } ); // Show Popup if ( ! $overlay.is( ':visible' ) ) { $overlay.fadeIn( 'fast' ); } $this.fadeIn( 'fast' ); } ); } ); } // Close All $( '#jt_popup_mobile_close_all' ).on( 'click', function ( e ) { e.preventDefault(); // Scroll Active $( 'body' ).removeClass( 'bad_ux_popup_scroll_remove' ); $container.fadeOut( 'fast', function () { $( this ).remove(); } ); } ); } } // End Device Mobile Popup // Close Popup $( '.jt_popup_close' ).on( 'click', function ( e ) { e.preventDefault(); if ( $( '.jt_popup_item' ).length > 0 ) { // Single if ( is_mobile == true ) { // Scroll Active $( 'body' ).removeClass( 'bad_ux_popup_scroll_remove' ); } if ( $( '.jt_popup_item' ).length > 1 ) { // two or more if ( is_mobile == false ) { // PC $( this ).parents( '.jt_popup_item' ).fadeOut( 'fast', function () { $( this ).remove(); } ); } else { // Mobile $popup_group.slick( 'slickRemove', $( this ).parents( '.jt_popup_item' ).index() ); } } else { // Multiple $container.fadeOut( 'fast', function () { $( this ).remove(); } ); } } } ); // Popups Cookie Script $( '.jt_popup_notoday' ).on( 'click', function ( e ) { e.preventDefault(); // Set Cookie var parent_wrap = $( this ).parents( '.jt_popup_item' ); $.cookie( parent_wrap.attr( 'id' ), 'today_none', { expires: 1, path: '/' } ); // Popup Close if ( $( '.jt_popup_item' ).length > 0 ) { // Single if ( is_mobile == true ) { // Scroll Active $( 'body' ).removeClass( 'bad_ux_popup_scroll_remove' ); } if ( $( '.jt_popup_item' ).length > 1 ) { // two or more if ( is_mobile == false ) { // PC $( this ).parents( '.jt_popup_item' ).fadeOut( 'fast', function () { $( this ).remove(); } ); } else { // Mobile $popup_group.slick( 'slickRemove', $( this ).parents( '.jt_popup_item' ).index() ); } } else { // Multiple $container.fadeOut( 'fast', function () { $( this ).remove(); } ); } } } ); } window.JT_BAD_UX_POPUP.init(); } ); // End jQuery