Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
subversal
/
video
/
wp-content
/
wp-includes
/
wp-content
/
themes
/
atlas
/
js
:
th90-scripts.js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
var TH90_SCRIPTS = (function(Mod, $) { 'use strict'; Mod.isDuringAjax = false; Mod.$singleScrollDelay = 1; Mod.isUriLightbox = function(uri) { uri = uri.split("?")[0]; var parts = uri.split("."), extension = parts[parts.length - 1], lightboxTypes = ['jpg', 'jpeg', 'tiff', 'png', 'gif', 'bmp', 'webp']; if (lightboxTypes.indexOf(extension) !== -1) { return true; } else { return false; } }; Mod.init = function() { this.shareMore(); this.commentCollapse(); this.theia_sticky(); this.widgetTitle(); this.offCanvas(); this.searchPopup(); this.scrollToTop(); this.stickyHeader(); this.readingIndicator(); this.dropdownMobileMenu(); this.switchSkin(''); this.switchSkinClick(); this.ajaxBlockPagi(); this.ajaxBlockInfinite(); this.ajaxBlockSorts(); this.ajaxInfiniteSingle(); this.ajaxSearch(); this.dynamicSelectOpt(); this.numberPlusMinus(); this.responsiveVideo(); this.sliderSlick(jQuery('.th90-slider')); this.megamenu(jQuery('.have-megamenu')); this.dropdown(); this.ajaxReload(); }; Mod.init_noreload = function() { this.cloneHeader(); this.ticker(jQuery('.block-newsticker')); this.singlePostHeader(); } Mod.ajaxReload = function() { this.lightbox(); this.masonryRun(jQuery('.columns-masonry')); }; Mod.reinitiateFunctions = function() { jQuery('html, body').off(); jQuery(document).off(); jQuery(window).trigger('load'); this.init(); }; Mod.hookSide = function() { var self = this, hook_left = jQuery('.hook-left'), hook_right = jQuery('.hook-right'), hook_param = jQuery('.hook-param'), html_width = jQuery('html').width(), cont_width = jQuery('.hook-param').outerWidth(); if (hook_param[0]) { var cont_width = jQuery('.hook-param').outerWidth(), space = ((html_width - cont_width) / 2) - 20; if (hook_left[0]) { if (html_width > cont_width) { hook_left.css('left', space + 'px'); setTimeout(function() { hook_left.addClass('active'); }, 100); } else { hook_left.removeClass('active'); } } if (hook_right[0]) { if (html_width > cont_width) { hook_right.css('right', space + 'px'); setTimeout(function() { hook_right.addClass('active'); }, 100); } else { hook_right.removeClass('active'); } } } }; Mod.shareMore = function() { var self = this; jQuery(document).on('click', '.social-more', function(e) { e.preventDefault(); e.stopPropagation(); if (jQuery(this).hasClass('is-active')) { jQuery(this).removeClass('is-active').siblings('.collapse').removeClass('show'); } else { jQuery(this).addClass('is-active').siblings('.collapse').addClass('show'); } }); }; Mod.commentCollapse = function() { var self = this; jQuery(document).on('click', '.comment-collapse', function(e) { e.preventDefault(); e.stopPropagation(); if (jQuery(this).closest('.collapse-wrap').hasClass('is-active')) { jQuery(this).closest('.collapse-wrap').removeClass('is-active').siblings('.article-comments').slideUp('fast'); } else { jQuery(this).closest('.collapse-wrap').addClass('is-active').siblings('.article-comments').slideDown('fast'); } }); }; Mod.widgetTitle = function() { jQuery('.wp-block-group__inner-container > h1,.wp-block-group__inner-container > h2,.wp-block-group__inner-container > h3,.wp-block-group__inner-container > h4,.wp-block-group__inner-container > h5,.wp-block-group__inner-container > h6').each(function() { var e = jQuery(this); e.after('<div class="widget-heading"><div class="title head4">' + e.text() + '</div></div>'); e.remove(); }); }; Mod.theia_sticky = function() { if (jQuery('.e-con-inner .sticky-yes, .sticky-sidebar .site-bar')[0]) { jQuery('.e-con-inner .sticky-yes, .sticky-sidebar .site-bar').each(function(e) { jQuery(this).theiaStickySidebar({ additionalMarginTop: 0, additionalMarginBottom: th90.stickyMarginBottom, minWidth: 881, }); }); } if (jQuery('.single-shares_sticky')[0]) { jQuery('.single-shares_sticky').each(function(e) { jQuery(this).theiaStickySidebar({ additionalMarginTop: 120, minWidth: 768, }); }); } }; Mod.ticker = function(element) { var self = this; if (element[0]) { element.each(function(e) { jQuery(this).ticker({ interval: parseInt(jQuery(this).attr('data-speed')), }); }); } }; Mod.offCanvas = function() { var self = this; jQuery(document).on('click', '.offcanvas-trigger', function(e) { e.preventDefault(); jQuery('.offcanvas-overlay, .offcanvas').removeClass('active').addClass('active'); }); jQuery('.offcanvas-overlay, .offcanvas-close').on('click', function(e) { e.preventDefault(); jQuery('.offcanvas-overlay, .offcanvas').removeClass('active'); }); }; Mod.searchPopup = function() { var self = this; jQuery(document).on('click', '.search-trigger', function(e) { e.preventDefault(); jQuery('.search-popup').removeClass('active').addClass('active').addClass('input-ready'); jQuery('.search-popup-form input[type="search"]').focus(); }); jQuery('.search-popup-close, .search-overlay').on('click', function(e) { e.preventDefault(); jQuery('.search-popup').removeClass('active'); }); }; Mod.scrollToTop = function() { if (jQuery('.totop-fly')[0]) { jQuery(window).on('scroll', function() { if (jQuery(window).scrollTop() >= jQuery('.site-header').outerHeight(true) + 60) { jQuery('.totop-fly').addClass('show'); jQuery('.totop-fly').siblings('.skin-fly').addClass('top-pos'); } else { jQuery('.totop-fly').removeClass('show'); jQuery('.totop-fly').siblings('.skin-fly').removeClass('top-pos'); } }); jQuery(document).on('click', '.totop-trigger', function(e) { e.preventDefault(); jQuery("html, body").animate({ scrollTop: '0' }); }); } }; Mod.cloneHeader = function() { var self = this; if (jQuery('.main-header')[0] && th90.is_sticky_header && !th90.sticky_template) { jQuery('.main-header').clone().insertAfter('.main-header').addClass('sticky-header').addClass(th90.sticky_header_behav); } } Mod.singlePostHeader = function() { var self = this; if (th90.is_singular_post) { jQuery('.sticky-header').find('.e-con-inner, .section-inner, .elementor > .e-con-full').prepend('<div class="now-read"><div class="now-read-el"><span class="now-read-title">' + th90.nowReadTitle + '</span><span class="sticky-post-title">' + th90.singlePostTitle + '</span></div><div class="now-read-time">' + th90.svg_pulse + th90.nowReadTime + '</div></div>'); } } Mod.stickyHeader = function() { var self = this; if (jQuery('.sticky-header')[0] && th90.is_sticky_header) { jQuery('.sticky-header').each(function(e) { var $this = jQuery(this), $sticky_height = $this.outerHeight(true), $prev = $this.prev(), elemTop = $prev.offset().top, elemHeight = $prev.outerHeight(true), offset_prepare = 100, offset_sticky = 400, lastScrollTop = 0; jQuery(window).on('scroll', function() { var scroll = jQuery(window).scrollTop(); if (scroll - offset_prepare > elemTop) { $this.addClass('sticky-start'); } else { $this.removeClass('sticky-start'); } if (scroll - offset_sticky > elemTop) { $this.addClass('sticky-show'); if (scroll > lastScrollTop) { $this.addClass('scroll-down').removeClass('scroll-up'); } else { $this.addClass('scroll-up').removeClass('scroll-down'); } } else { $this.removeClass('sticky-show').removeClass('scroll-up').removeClass('scroll-down'); } lastScrollTop = scroll; }); }); } } Mod.readingIndicator = function() { if (th90.is_singular_post) { if (jQuery('.article-content')[0]) { jQuery('.article-content').each(function(e) { var $this = jQuery(this); if ($this.length > 0) { jQuery(window).on('scroll', function() { var percent = 0, content_height = $this.outerHeight(true), window_height = jQuery(window).height(), content_offset = $this.offset().top, window_offset = jQuery(window).scrollTop(); if (window_offset > (content_offset - window_height) && window_offset < (content_offset + content_height + window_height)) { percent = 100 * (window_offset - (content_offset - window_height)) / (content_height + window_height); jQuery('.reading-indicator').css('width', percent + '%'); } else { jQuery('.reading-indicator').css('width', '0'); } }); } }); } } } Mod.responsiveVideo = function() { if (jQuery('iframe')[0]) { jQuery('iframe').each(function(e) { var src = jQuery(this).attr('src'), data_src = jQuery(this).attr('data-src'), thisParent = jQuery(this).parent(), video = false, check_src = false; if (typeof src !== 'undefined' && typeof data_src === 'undefined') { check_src = src; } else if (typeof data_src !== 'undefined' && typeof src === 'undefined') { check_src = data_src; } if (check_src) { check_src = check_src.toLowerCase(); if (check_src.indexOf('yout') >= 0 || check_src.indexOf('vime') >= 0 || check_src.indexOf('dailymo') >= 0) { video = true; } if (video === false) { return; } if (!thisParent.hasClass('video-container') && !thisParent.hasClass('thumb-container') && !thisParent.hasClass('wp-block-embed__wrapper') && !thisParent.parent().hasClass('wp-block-embed__wrapper') && !thisParent.hasClass('frame-wrap') && !thisParent.hasClass('content-custom') && !jQuery(this).hasClass('elementor-video') && !jQuery(this).hasClass('skip-video') && !thisParent.hasClass('fluid-width-video-wrapper')) { jQuery(this).wrap('<div class="video-container"></div>'); } } }); } }; Mod.lightbox = function() { var self = this; /* Check if image have caption */ jQuery('.article-content').find('figure').not('.gallery, .wp-block-gallery').each(function() { var caption_text = jQuery(this).find('.wp-caption-text, figcaption').html(); jQuery(this).find('a').attr('title', caption_text); }); /* Post Content Image Popup */ if (th90.lightbox_image) { jQuery('.article-content').find('a').not('.gallery a, .wp-block-gallery a').each(function(i, el) { if (self.isUriLightbox(this.href)) { jQuery(this).addClass('venobox'); } }); } /* Post Content Gallery Popup */ if (th90.lightbox_gallery) { jQuery('.article-content').find('.gallery, .wp-block-gallery').each(function(i, el) { jQuery(this).find('a').each(function() { if (self.isUriLightbox(this.href)) { jQuery(this).attr('data-gall', 'gall-' + i).addClass('venobox'); } }); }); } /* WooCommerce Gallery */ if (jQuery('.woocommerce-product-gallery__wrapper')[0]) { jQuery('.woocommerce-product-gallery__wrapper').each(function(i, el) { jQuery(this).find('.woocommerce-product-gallery__image a').each(function() { if (self.isUriLightbox(this.href)) { jQuery(this).attr('data-gall', 'gall-' + i).addClass('venobox'); } }); }); } new VenoBox({ numeration: true, infinigall: true, share: true, spinner: 'pulse', toolsBackground: 'transparent', toolsColor: '#f8f8f8', }); }; Mod.megamenu = function(element) { var self = this; if (element[0]) { element.each(function(e) { var megaMenuWidth = 0, megaMenuLeft = 0, elCont = jQuery(this).closest('.e-con-inner'), defCont = jQuery(this).closest('.section-inner'), fullCont = jQuery(this).closest('.elementor > .e-con-full'), megaListItem = jQuery(this).closest('li'), megaIndicator = jQuery(this).siblings('.mega-indicator'), megaContainer = jQuery(this).siblings('.sub-menu'), navContainer = jQuery(this).closest('.navmain-wrap'); if (defCont.width() !== undefined) { megaMenuWidth = defCont.outerWidth(); megaMenuLeft = megaListItem.offset().left - defCont.offset().left; } else if (fullCont.width() !== undefined) { megaMenuWidth = fullCont.outerWidth(); megaMenuLeft = megaListItem.offset().left - fullCont.offset().left; } else if (elCont.width() !== undefined) { megaMenuWidth = elCont.outerWidth(); megaMenuLeft = megaListItem.offset().left - elCont.offset().left; } megaContainer.css('width', megaMenuWidth); megaIndicator.css('width', megaMenuWidth); megaContainer.css('left', -(megaMenuLeft)); megaIndicator.css('left', -(megaMenuLeft)); }); } }; Mod.dropdown = function() { var self = this; jQuery(document).on({ mouseenter: function() { var target = jQuery(this).children('.sub-menu'), megacat = jQuery(this).find('.megacat'); target.removeClass('is_open'); if (target.hasClass('is_open')) { target.removeClass('is_open'); } else { target.addClass('is_open'); } if (megacat.length) { self.ajaxMenu(megacat); } }, mouseleave: function() { var target = jQuery(this).children('.sub-menu'); target.removeClass('is_open'); } }, '.nav-main li'); }; Mod.dropdownMobileMenu = function() { var self = this; jQuery(document).on('click', '.sub-pointer', function(e) { e.preventDefault(); e.stopPropagation(); if (jQuery(this).hasClass('is-active')) { jQuery(this).removeClass('is-active').closest('a').siblings('.sub-menu').slideUp('fast'); } else { jQuery(this).addClass('is-active').closest('a').siblings('.sub-menu').slideDown('fast'); jQuery(this).closest('.menu-item').siblings().find('.sub-pointer').removeClass('is-active'); jQuery(this).closest('.menu-item').siblings().find('.sub-menu').slideUp('fast'); } }); }; Mod.sliderProgress = function(progress, sliderTimer) { var self = this; progress.find('span').removeAttr('style').removeClass('active'); setTimeout(function() { progress.find('span').css('transition-duration', (sliderTimer / 1000) + 's').addClass('active'); }, 100); } Mod.sliderSlick = function(element) { var self = this; if (element[0]) { var options = JSON.parse(element.attr('data-settings')); element.each(function(e) { var slick = jQuery(this).find('.slick-slider'), progress = jQuery(this).closest('.block-slider').siblings('.slick-progress'); slick.not('.slick-initialized').slick(self.slickConfig(jQuery(this))); if (progress.length > 0) { self.sliderProgress(progress, options.delay); jQuery(this).on('beforeChange', function(e, slick) { self.sliderProgress(progress, options.delay); }); } }); } } Mod.slickConfig = function($container) { var self = this, $conf = {}, $block = $container.closest('.block-slider'), options = JSON.parse($container.attr('data-settings')); $conf["rtl"] = options.rtl; $conf["speed"] = options.speed; $conf["infinite"] = options.loop; $conf["centerMode"] = options.center; $conf["adaptiveHeight"] = options.autoHeight; $conf["slidesToShow"] = options.view; $conf["fade"] = options.fade; $conf["autoplaySpeed"] = options.delay; if (options.autoplay) { $conf["autoplay"] = options.autoplay; } if (options.asNavFor) { $conf["asNavFor"] = options.asNavFor; $conf["focusOnSelect"] = options.focusOnSelect; } if (options.vertical) { $conf["vertical"] = options.vertical; $conf["verticalSwiping"] = true; $conf["rtl"] = false; } $conf["responsive"] = [{ breakpoint: 1025, settings: { slidesToShow: options.t_view, } }, { breakpoint: 881, settings: { slidesToShow: options.m_view, } }, { breakpoint: 768, settings: { rtl: options.rtl, vertical: false, verticalSwiping: false, slidesToShow: options.ms_view, } }, ]; $conf["dots"] = options.dots; $conf["arrows"] = options.nav; $conf["appendArrows"] = $block.find('.slider-arrow'); $conf["appendDots"] = $block.find('.slider-dots'); $conf["prevArrow"] = '<div class="prev-arrow">' + th90.svg_arrow_left + '</div>'; $conf["nextArrow"] = '<div class="next-arrow">' + th90.svg_arrow_right + '</div>'; return $conf; } Mod.switchSkinClick = function() { var self = this; jQuery(document).on('click', '.trigger-dark', function(e) { self.switchSkin('dark'); localStorage.setItem('th90-skin', 'dark'); jQuery('.trigger-light').css('display', 'flex'); jQuery('.trigger-dark').hide(); }); jQuery(document).on('click', '.trigger-light', function(e) { self.switchSkin('light'); localStorage.setItem('th90-skin', 'light'); jQuery('.trigger-dark').css('display', 'flex'); jQuery('.trigger-light').hide(); }); } Mod.switchSkin = function(switchTo) { var self = this, tempSkin = localStorage.getItem('th90-skin'), savedSkin = (tempSkin) ? tempSkin : '', theSkin = (switchTo) ? switchTo : savedSkin; if ('dark' == theSkin) { jQuery('.trigger-light').css('display', 'flex'); jQuery('.trigger-dark').hide(); } else { jQuery('.trigger-dark').css('display', 'flex'); jQuery('.trigger-light').hide(); } if (jQuery('.skin-trigger').length > 0 && theSkin) { if (theSkin == 'dark') { jQuery('html').find('.is-skin').not('.nochange-yes').each(function() { if (jQuery(this).hasClass('bg-light')) { jQuery(this).removeClass('bg-light'); jQuery(this).addClass('bg-dark'); jQuery(this).addClass('skin-change'); } }); jQuery('html').find('.site-skin').each(function() { if (jQuery(this).hasClass('site-light')) { jQuery(this).removeClass('site-light'); jQuery(this).addClass('site-dark'); jQuery(this).addClass('skin-change'); } }); } else { jQuery('html').find('.is-skin').not('.nochange-yes').each(function() { if (jQuery(this).hasClass('skin-change')) { jQuery(this).removeClass('bg-dark'); jQuery(this).addClass('bg-light'); } jQuery(this).removeClass('skin-change'); }); jQuery('html').find('.site-skin').each(function() { if (jQuery(this).hasClass('skin-change')) { jQuery(this).removeClass('site-dark'); jQuery(this).addClass('site-light'); } jQuery(this).removeClass('skin-change'); }); } } if (jQuery('.skin-trigger').length <= 0) { localStorage.removeItem('th90-skin'); } }; Mod.masonryRun = function(element) { var self = this; if (element[0]) { element.each(function(e) { if (!jQuery(this).closest('.navmain-wrap').length) { // init Masonry var $grid = jQuery(this).find('.post-list-columns').masonry({ itemSelector: '.post-item', percentPosition: true, columnWidth: '.post-item', }); // layout Masonry after each image loads $grid.imagesLoaded().progress(function() { $grid.masonry(); }); } }); } } Mod.ajaxBlockPagi = function() { var self = this; jQuery(document).on('click', '.module-pagi', function(e) { e.preventDefault(); self.ajaxBlock(jQuery(this)); }); } Mod.ajaxBlockInfinite = function() { var self = this, infiniteLoadPoint = jQuery('.module-infinite'); if (infiniteLoadPoint.length == 0) { return; } infiniteLoadPoint.viewportChecker({ repeat: true, offset: 30, classToAdd: '', classToAddForFullView: '', classToRemove: '', removeClassAfterAnimation: false, callbackFunction: function(elem, action) { self.ajaxBlock(elem); }, }); } Mod.ajaxBlock = function(pagination) { var self = this, pagiWrap = pagination.closest('.nav-wrap-inner'), theBlock = pagination.closest('.th90-block'), blockID = theBlock.get(0).id, pageCurrent = theBlock.attr('data-current'), blockSort = theBlock.attr('data-sort'), postsCont = theBlock.find('.posts-container'), postsList = theBlock.find('.posts-list'), options = $.extend({}, window['js_' + blockID.replace('th90-', 'th90_')]), displayItem = 'block'; if (self.isDuringAjax == true) { return; } self.isDuringAjax = true; if (pageCurrent && options) { /* If Post Sort is set */ if (blockSort) { options['orderby'] = blockSort; } // Check if the Button Disabled if (pagination.hasClass('btn-disabled')) { self.isDuringAjax = false; return false; } // Check if the button type is Load More if (pagination.hasClass('load-more')) { pageCurrent++; } // Next page button else if (pagination.hasClass('next-posts')) { pageCurrent++; theBlock.find('.prev-posts').removeClass('btn-disabled'); } // Prev page button else if (pagination.hasClass('prev-posts')) { pageCurrent--; theBlock.find('.next-posts').removeClass('btn-disabled'); } // Ajax Call $.ajax({ url: th90.ajaxurl, type: 'post', data: { action: 'th90_blocks_load_more', block: options, page: pageCurrent }, beforeSend: function(data) { pagination.addClass('pagi-loading'); if (!pagination.hasClass('load-more')) { postsCont.attr('style', 'min-height:' + postsCont.outerHeight() + 'px'); postsCont.append('<div class="block-loader"><span class="xloader">' + th90.svg_loader + '</span></div>'); postsList.addClass('is-loading'); } else { pagiWrap.append('<span class="pagi-loader"><span class="xloader loader-small">' + th90.svg_loader + '</span></span>'); } }, success: function(data) { data = JSON.parse(data); pagination.removeClass('pagi-loading'); if (pagination.hasClass('load-more')) { pagiWrap.find('.pagi-loader').remove(); } if (data['hide_next']) { theBlock.find('.next-posts').addClass('btn-disabled'); if (pagination.hasClass('show-more') && !pagination.hasClass('nextprev-more')) { pagination.find('.more-text').html(data['button']); } } // Hide Prev posts button if (data['hide_prev']) { theBlock.find('.prev-posts').addClass('btn-disabled'); } // Posts code data = data['code']; data = data.replace(/class="post-item/g, 'class="post-item post-item-' + pageCurrent + ' '); var content = jQuery(data); if (theBlock.hasClass('columns-masonry') && postsList.hasClass('post-list-columns')) { postsCont.removeAttr('style'); postsCont.find('.block-loader').remove(); postsList.removeClass('is-loading'); if (pagination.hasClass('load-more')) { postsList.append(content).masonry('appended', content); } else { postsList.html(content).masonry('prepended', content); } self.ajaxReload(); self.isDuringAjax = false; } else { if (pagination.hasClass('load-more')) { postsList.append(content); } else { postsCont.find('.block-loader').remove(); postsList.removeClass('is-loading'); postsList.html(content); } self.ajaxReload(); postsCont.removeAttr('style'); self.isDuringAjax = false; } } }); // Change the next page number theBlock.attr('data-current', pageCurrent); } return false; }; Mod.ajaxBlockSorts = function() { var self = this; jQuery(document).on('click', '.module-sort', function(e) { e.preventDefault(); var sortButton = jQuery(this), dataSort = sortButton.attr('data-sort'), sortsWrap = sortButton.closest('.module-sorts'), theBlock = sortsWrap.closest('.th90-block'), pagination = theBlock.find('.module-pagi'), blockID = theBlock.get(0).id, postsCont = theBlock.find('.posts-container'), postsList = theBlock.find('.posts-list'), options = $.extend({}, window['js_' + blockID.replace('th90-', 'th90_')]), displayItem = 'block'; if (self.isDuringAjax == true) { return; } self.isDuringAjax = true; if (options) { sortButton.siblings('.module-sort').removeClass('active'); sortButton.addClass('active'); // Set the data attr new values theBlock.attr('data-current', 1); if (dataSort) { options['orderby'] = dataSort; theBlock.attr('data-sort', dataSort); } else { theBlock.removeAttr('data-sort'); } // Ajax Call $.ajax({ url: th90.ajaxurl, type: 'post', data: { action: 'th90_blocks_load_more', block: options, }, beforeSend: function(data) { postsCont.attr('style', 'min-height:' + postsCont.outerHeight() + 'px'); postsCont.append('<div class="block-loader"><span class="xloader">' + th90.svg_loader + '</span></div>'); postsList.addClass('is-loading'); }, success: function(data) { data = JSON.parse(data); // Reset the pagination pagination.removeClass('btn-disabled'); if (pagination.hasClass('show-more') && !pagination.hasClass('nextprev-more')) { pagination.find('.more-text').html(pagination.attr('data-text')); } // Hide next posts button if (data['hide_next']) { theBlock.find('.next-posts').addClass('btn-disabled'); if (pagination.hasClass('show-more') && !pagination.hasClass('nextprev-more')) { pagination.find('.more-text').html(data['button']); } } // Hide Prev posts button if (data['hide_prev']) { theBlock.find('.prev-posts').addClass('btn-disabled'); } // Posts code data = data['code']; var content = jQuery(data); if (theBlock.hasClass('columns-masonry') && postsList.hasClass('post-list-columns')) { postsCont.removeAttr('style'); postsCont.find('.block-loader').remove(); postsList.removeClass('is-loading'); postsList.html(content).masonry('prepended', content); self.ajaxReload(); self.isDuringAjax = false; } else { postsCont.find('.block-loader').remove(); postsList.removeClass('is-loading'); postsList.html(content); self.ajaxReload(); postsCont.removeAttr('style'); self.isDuringAjax = false; } } }); } return false; }); }; Mod.ajaxInfiniteSingle = function() { var self = this, infiniteWrapper = jQuery('#single-post-ajax'), infiniteLoadPoint = jQuery('#single-point-ajax'); if (infiniteWrapper.length == 0 || infiniteLoadPoint.length == 0) { return; } infiniteLoadPoint.viewportChecker({ repeat: true, offset: 60, classToAdd: '', classToAddForFullView: '', classToRemove: '', removeClassAfterAnimation: false, callbackFunction: function(elem, action) { if (true == self.isDuringAjax) { return; } var nexturl = infiniteWrapper.data('nexturl'); if (nexturl.indexOf('?p=') > -1) { nexturl = nexturl + '&th90_single_ajax=1'; } else { var getParam = 'th90_single_ajax/'; if (nexturl.charAt(nexturl.length - 1) != '/') getParam = '/' + getParam; nexturl = nexturl + getParam; } self.isDuringAjax = true; // Ajax Call $.ajax({ url: nexturl, type: 'GET', dataType: 'html', beforeSend: function(data) { infiniteLoadPoint.append('<div class="single-loader"><span class="xloader">' + th90.svg_loader + '</span></div>'); }, success: function(response) { response = JSON.parse(JSON.stringify(response)); response = $(response); infiniteLoadPoint.find('.single-loader').remove(); var nexturl = response.data('nexturl'); if ('undefined' != typeof(nexturl) && nexturl.length > 0) { infiniteWrapper.data('nexturl', nexturl); } else { infiniteWrapper.removeAttr('id'); infiniteLoadPoint.remove(); } if (response.data('sidebar')) { if (jQuery.inArray(response.data('sidebar'), th90.elementor_posts_css) == -1) { jQuery('head').append('<link rel="stylesheet" href="' + response.data('sidebar') + '">'); } } infiniteWrapper.append(response); self.isDuringAjax = false; setTimeout(function() { self.scrollUpdateProcess(infiniteWrapper); self.reinitiateFunctions(); }, 1); } }); }, }); }; Mod.scrollUpdateProcess = function(infiniteWrapper) { var self = this, articleData = []; if (infiniteWrapper.length == 0) { return; } var articleInner = infiniteWrapper.find('.single-inner-ajax'); if (articleInner.length > 0) { articleInner.each(function() { var article = jQuery(this); articleData.push({ postID: article.data('previd'), postURL: article.data('prevurl'), postTitle: article.find('h1.entry-title').text(), postImage: article.data('image'), postDesc: article.data('desc'), postReadTime: article.data('readtime'), top: article.offset().top, bottom: article.offset().top + article.outerHeight(true), articleContentHeight: article.find('.article-content').outerHeight(true), articleContentTop: article.find('.article-content').offset().top, }); }); if (window.addEventListener) { window.addEventListener('scroll', function() { if (self.$singleScrollDelay % 3 == 1) { self.scrollUpdateAction(articleData); self.$singleScrollDelay = 1; } else { self.$singleScrollDelay++; } }, false); } } }; Mod.scrollUpdateAction = function(articleData) { var self = this, percent = 0, window_height = jQuery(window).height(), window_offset = jQuery(window).scrollTop(); articleData.every(function(element) { var content_height = element.articleContentHeight, content_offset = element.articleContentTop; if (window_offset > (content_offset - window_height) && window_offset < (content_offset + content_height + window_height)) { percent = 100 * (window_offset - (content_offset - window_height)) / (content_height + window_height); jQuery('.reading-indicator').css('width', percent + '%'); } else { jQuery('.reading-indicator').css('width', '0'); } if (window_offset > element.top && window_offset < element.bottom) { if (element.postID != self.currentArticleID) { self.currentArticleID = element.postID; self.updateLocationHref(element.postURL, element.postTitle); jQuery('.sticky-header').find('.sticky-post-title').html(element.postTitle); jQuery('.sticky-header').find('.now-read-time').html(element.postReadTime); jQuery('meta[property="og:title"]').attr('content', element.postTitle + ' - ' + jQuery('meta[property="og:site_name"]').attr('content')); jQuery('meta[property="og:url"]').attr('content', element.postURL); jQuery('meta[property="og:description"]').attr('content', element.postDesc); jQuery('meta[property="og:image"]').attr('content', element.postImage); } return false; } return true; }); }; Mod.updateLocationHref = function(url, title) { var self = this; if (window.location.href !== url) { if (url !== '') { history.replaceState(null, null, url); document.title = title; } self.updateGA(url); } }; Mod.updateGA = function(url) { url = url.replace(/https?:\/\/[^\/]+/i, ''); if (typeof _gaq !== 'undefined' && _gaq !== null) { _gaq.push(['_trackPageview', url]); } if (typeof ga !== 'undefined' && ga !== null) { ga('send', 'pageview', url); } if (typeof __gaTracker !== 'undefined' && __gaTracker !== null) { __gaTracker('send', 'pageview', url); } if (typeof googletag !== 'undefined') { googletag.pubads().refresh(); } }; Mod.ajaxSearch = function() { if (jQuery('.search-popup-form .search-input')[0]) { if ( th90.disable_search_ajax ) { return false; } var timeout = null; jQuery('.search-popup-form .search-input').on('keyup', function(e) { e.preventDefault(); var search_input = jQuery(this), search_val = search_input.val(), search_container = search_input.closest('.search-popup-wrap'), search_result = search_container.find('.posts-list'); if (timeout) { clearTimeout(timeout); } timeout = setTimeout(function() { // Ajax Call $.ajax({ url: th90.ajaxurl, type: 'post', data: { action: 'th90_search_ajax', s: search_val, }, beforeSend: function(data) { search_container.addClass('loading'); }, success: function(data) { data = JSON.parse(data); search_container.removeClass('loading'); if (search_val.length > 2) { data = data['code']; } else { data = data['min']; } search_result.html(jQuery(data)); } }); }, 500); return false; }); } }; Mod.ajaxMenu = function(trigger) { var self = this, mega = trigger.siblings('.mega-template'), postsList = mega.find('.posts-list'), id = trigger.attr('data-id'), style = trigger.attr('data-style'); if (id && !trigger.hasClass('is-loaded')) { // Ajax Call $.ajax({ url: th90.ajaxurl, type: 'post', data: { action: 'th90_mega_menu_load_ajax', id: id, style: style, }, beforeSend: function(data) { mega.addClass('loading'); if (self.isDuringAjax == false) { mega.append('<div class="block-loader"><span class="xloader">' + th90.svg_loader + '</span></div>'); self.isDuringAjax = true; } }, success: function(data) { data = JSON.parse(data); trigger.addClass('is-loaded'); mega.removeClass('loading').find('.block-loader').remove(); // Posts code data = data['code']; var content = jQuery(data); postsList.html(content); self.ajaxReload(); self.isDuringAjax = false; } }); } return false; }; Mod.dynamicSelectOpt = function() { var self = this; jQuery("#width_tmp_option").html(jQuery('#resizing_select option:selected').text()); jQuery('#resizing_select').width(jQuery("#width_tmp_select").width()).show(); jQuery('#resizing_select').on('change', function() { jQuery("#width_tmp_option").html(jQuery('#resizing_select option:selected').text()); jQuery('#resizing_select').width(jQuery("#width_tmp_select").width()).show(); }); } Mod.numberPlusMinus = function() { jQuery('.quantity .minus-btn').on('click', function(e) { e.preventDefault(); var $qty = jQuery(this).siblings('.qty'), val = parseInt($qty.val()); $qty.val(val > 1 ? val - 1 : 1).trigger('change'); }) jQuery('.quantity .plus-btn').on('click', function(e) { e.preventDefault(); var $qty = jQuery(this).siblings('.qty'), val = parseInt($qty.val()); $qty.val(val > 0 ? val + 1 : 1).trigger('change'); }); }; return Mod; }(TH90_SCRIPTS || {}, jQuery)); jQuery(document).ready(function() { TH90_SCRIPTS.init_noreload(); TH90_SCRIPTS.init(); }); jQuery(window).on('resize', function() { TH90_SCRIPTS.megamenu(jQuery('.have-megamenu')); TH90_SCRIPTS.hookSide(); }); jQuery(window).on('load', function() { TH90_SCRIPTS.hookSide(); }); // ------------------------------------------------------------------------------ // Ticker plugin // ------------------------------------------------------------------------------ ! function(e) { e.fn.ticker = function(n) { return n = jQuery.extend({ fadeInTime: 800, fadeOutTime: 800, interval: 3e3 }, n), this.each(function() { var t, a, i, d, f; d = (i = (t = e(this)).find(".posts")).find(".itemWrap"), f = !1, d.eq(0).addClass("active"), d.eq(0).show(), setInterval(function() { f || (a = i.find(".active")).fadeOut(n.fadeOutTime, function() { 0 !== a.next().length ? (a.removeClass("active"), a.next().addClass("active"), a.next().fadeIn(n.fadeInTime)) : (a.removeClass("active"), d.eq(0).addClass("active"), d.eq(0).fadeIn(n.fadeInTime)) }) }, n.interval), t.on("mouseover mouseout", function(e) { f = "mouseover" == e.type }) }) } }(jQuery);