���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /home/rickpfrv/elirickard.com/wp-content/themes/micdrop/assets/js/main.js
���ѧ٧ѧ�
(function ( $ ) { 'use strict'; window.qodef = {}; qodef.body = $( 'body' ); qodef.html = $( 'html' ); qodef.window = $( window ); qodef.windowWidth = $( window ).width(); qodef.windowHeight = $( window ).height(); qodef.scroll = 0; $( document ).ready( function () { qodef.scroll = $( window ).scrollTop(); qodefBrowserDetection.init(); qodefMagnificPopup.init(); qodefAnchor.init(); qodefAppear.init(); qodefButton.init(); qodefRevSliderJs.init(); qodefWooModifiedButton.init(); } ); $( window ).on( 'load', function () { qodefSwiper.init(); } ); $( window ).resize( function () { qodef.windowWidth = $( window ).width(); qodef.windowHeight = $( window ).height(); } ); $( window ).scroll( function () { qodef.scroll = $( window ).scrollTop(); } ); $( document ).on( 'micdrop_trigger_get_new_posts', function () { qodefSwiper.init(); qodefMagnificPopup.init(); qodefAppear.init(); qodefWooModifiedButton.init(); } ); $( document ).on( 'micdrop_trigger_swiper_is_initialized', function () { qodefWooModifiedButton.init(); } ); ///Woo Commerce Events $( document ).on( 'added_to_cart', function () { qodefWooModifiedButton.init(); } ); $( document ).on( 'updated_checkout', function () { qodefWooModifiedButton.init(); } ); $( document.body ).on( 'wc_update_cart', function () { qodefWooModifiedButton.init(); } ); $( document ).on( 'payment_method_selected', function () { qodefWooModifiedButton.init(); } ); $( document.body ).on( 'wc_fragments_refreshed', function () { qodefWooModifiedButton.init(); } ); /* * Browser detection functionality */ var qodefBrowserDetection = { init: function () { qodefBrowserDetection.addBodyClassName(); }, isBrowser: function ( name ) { var isBrowser = false; switch (name) { case 'chrome': isBrowser = /Chrome/.test( navigator.userAgent ) && /Google Inc/.test( navigator.vendor ); break; case 'safari': isBrowser = /Safari/.test( navigator.userAgent ) && /Apple Computer/.test( navigator.vendor ); break; case 'firefox': isBrowser = navigator.userAgent.toLowerCase().indexOf( 'firefox' ) > -1; break; case 'ie': isBrowser = window.navigator.userAgent.indexOf( 'MSIE ' ) > 0 || !! navigator.userAgent.match( /Trident.*rv\:11\./ ); break; case 'edge': isBrowser = /Edge\/\d./i.test( navigator.userAgent ); break; } return isBrowser; }, addBodyClassName: function () { var browsers = [ 'chrome', 'safari', 'firefox', 'ie', 'edge', ]; $.each( browsers, function ( key, value ) { if ( qodefBrowserDetection.isBrowser( value ) && typeof qodef.body !== 'undefined' ) { if ( value === 'ie' ) { value = 'ms-explorer'; } qodef.body.addClass( 'qodef-browser--' + value ); } } ); } }; /** * Init swiper slider */ var qodefSwiper = { init: function ( settings ) { this.holder = $( '.qodef-swiper-container' ); // Allow overriding the default config $.extend( this.holder, settings ); if ( this.holder.length ) { this.holder.each( function () { qodefSwiper.initSlider( $( this ) ); } ); } }, initSlider: function ( $currentItem ) { var options = qodefSwiper.getOptions( $currentItem ), events = qodefSwiper.getEvents( $currentItem, options ); var $swiper = new Swiper( $currentItem, Object.assign( options, events ) ); }, getOptions: function ( $holder, returnBreakpoints ) { var sliderOptions = typeof $holder.data( 'options' ) !== 'undefined' ? $holder.data( 'options' ) : {}, spaceBetween = sliderOptions.spaceBetween !== undefined && sliderOptions.spaceBetween !== '' ? sliderOptions.spaceBetween : 0, slidesPerView = sliderOptions.slidesPerView !== undefined && sliderOptions.slidesPerView !== '' ? sliderOptions.slidesPerView : 1, centeredSlides = sliderOptions.centeredSlides !== undefined && sliderOptions.centeredSlides !== '' ? sliderOptions.centeredSlides : false, sliderScroll = sliderOptions.sliderScroll !== undefined && sliderOptions.sliderScroll !== '' ? sliderOptions.sliderScroll : false, loop = sliderOptions.loop !== undefined && sliderOptions.loop !== '' ? sliderOptions.loop : true, autoplay = sliderOptions.autoplay !== undefined && sliderOptions.autoplay !== '' ? sliderOptions.autoplay : true, speed = sliderOptions.speed !== undefined && sliderOptions.speed !== '' ? parseInt( sliderOptions.speed, 10 ) : 5000, speedAnimation = sliderOptions.speedAnimation !== undefined && sliderOptions.speedAnimation !== '' ? parseInt( sliderOptions.speedAnimation, 10 ) : 800, customStages = sliderOptions.customStages !== undefined && sliderOptions.customStages !== '' ? sliderOptions.customStages : false, outsideNavigation = sliderOptions.outsideNavigation !== undefined && sliderOptions.outsideNavigation === 'yes', nextNavigation = outsideNavigation ? '.swiper-button-next-' + sliderOptions.unique : $holder.find( '.swiper-button-next' ), prevNavigation = outsideNavigation ? '.swiper-button-prev-' + sliderOptions.unique : $holder.find( '.swiper-button-prev' ), pagination = $holder.find( '.swiper-pagination' ); if ( autoplay !== false && speed !== 5000 ) { autoplay = { disableOnInteraction: false, delay: speed, }; } else if ( autoplay !== false ) { autoplay = { disableOnInteraction: false, }; } var slidesPerView1440 = sliderOptions.slidesPerView1440 !== undefined && sliderOptions.slidesPerView1440 !== '' ? parseInt( sliderOptions.slidesPerView1440, 10 ) : 5, slidesPerView1366 = sliderOptions.slidesPerView1366 !== undefined && sliderOptions.slidesPerView1366 !== '' ? parseInt( sliderOptions.slidesPerView1366, 10 ) : 4, slidesPerView1024 = sliderOptions.slidesPerView1024 !== undefined && sliderOptions.slidesPerView1024 !== '' ? parseInt( sliderOptions.slidesPerView1024, 10 ) : 3, slidesPerView768 = sliderOptions.slidesPerView768 !== undefined && sliderOptions.slidesPerView768 !== '' ? parseInt( sliderOptions.slidesPerView768, 10 ) : 2, slidesPerView680 = sliderOptions.slidesPerView680 !== undefined && sliderOptions.slidesPerView680 !== '' ? parseInt( sliderOptions.slidesPerView680, 10 ) : 1, slidesPerView480 = sliderOptions.slidesPerView480 !== undefined && sliderOptions.slidesPerView480 !== '' ? parseInt( sliderOptions.slidesPerView480, 10 ) : 1; if ( ! customStages ) { if ( slidesPerView < 2 ) { slidesPerView1440 = slidesPerView; slidesPerView1366 = slidesPerView; slidesPerView1024 = slidesPerView; slidesPerView768 = slidesPerView; } else if ( slidesPerView < 3 ) { slidesPerView1440 = slidesPerView; slidesPerView1366 = slidesPerView; slidesPerView1024 = slidesPerView; } else if ( slidesPerView < 4 ) { slidesPerView1440 = slidesPerView; slidesPerView1366 = slidesPerView; } else if ( slidesPerView < 5 ) { slidesPerView1440 = slidesPerView; } } var options = { slidesPerView: slidesPerView, centeredSlides: centeredSlides, sliderScroll: sliderScroll, spaceBetween: spaceBetween, autoplay: autoplay, loop: loop, speed: speedAnimation, navigation: { nextEl: nextNavigation, prevEl: prevNavigation }, pagination: { el: pagination, type: 'bullets', clickable: true }, breakpoints: { // when window width is < 481px 0: { slidesPerView: slidesPerView480 }, // when window width is >= 481px 481: { slidesPerView: slidesPerView680 }, // when window width is >= 681px 681: { slidesPerView: slidesPerView768 }, // when window width is >= 769px 769: { slidesPerView: slidesPerView1024 }, // when window width is >= 1025px 1025: { slidesPerView: slidesPerView1366 }, // when window width is >= 1367px 1367: { slidesPerView: slidesPerView1440 }, // when window width is >= 1441px 1441: { slidesPerView: slidesPerView } }, }; return Object.assign( options, qodefSwiper.getSliderDatas( $holder ) ); }, getSliderDatas: function ( $holder ) { var dataList = $holder.data(), returnValue = {}; for ( var property in dataList ) { if ( dataList.hasOwnProperty( property ) ) { // It's required to be different from data options because da options are all options from shortcode element if ( property !== 'options' && typeof dataList[property] !== 'undefined' && dataList[property] !== '' ) { returnValue[property] = dataList[property]; } } } return returnValue; }, navMovement: function ( $holder, inactiveSlideW, prev, next ) { $holder.on( 'mousemove', function ( e ) { var x = e.clientX, y = e.clientY, delta = prev.width() / 2; prev.add( next ).css( { 'top': y, 'left': x - delta } ); if ( x < inactiveSlideW ) { prev.css( 'opacity', '1' ); next.css( 'opacity', '0' ); } else if ( x > qodef.windowWidth - inactiveSlideW ) { next.css( 'opacity', '1' ); prev.css( 'opacity', '0' ); } else { next.css( 'opacity', '0' ); prev.css( 'opacity', '0' ); } } ); }, navTrigger: function ( $holder, prev, next ) { prev.on( 'click', function () { $holder[0].swiper.slidePrev(); } ); next.on( 'click', function () { $holder[0].swiper.slideNext(); } ); }, cursorNavigation: function ( $holder ) { if ( ! qodef.html.hasClass( 'touchevents' ) && $holder.hasClass( 'qodef-cursor-nav' ) ) { /* append only once */ if ( $holder.find( '.qodef-nav-trigger' ).length === 0 ) { $holder.append( '<div class="qodef-nav-trigger">\ <div class="qodef-prev-trigger"></div>\ <div class="qodef-next-trigger"></div>\ </div>' ); } setTimeout( function () { var $prevTrigger = $holder.find( '.qodef-prev-trigger' ); var $nextTrigger = $holder.find( '.qodef-next-trigger' ); var $inactiveSlideW = $holder.find( '.swiper-slide.swiper-slide-active' ).prev( '.swiper-slide' ).width() - 167; // 167 is correction for active slide padding if ( qodefCore.windowWidth > 1024 && qodefCore.windowWidth < 1680 ) { $inactiveSlideW = $holder.find( '.swiper-slide.swiper-slide-active' ).prev( '.swiper-slide' ).width(); } $prevTrigger.width( $inactiveSlideW ); $nextTrigger.width( $inactiveSlideW ); qodefSwiper.navMovement( $holder, $inactiveSlideW, $holder.find( '.swiper-button-prev' ), $holder.find( '.swiper-button-next' ) ); qodefSwiper.navTrigger( $holder, $holder.find( '.qodef-prev-trigger' ), $holder.find( '.qodef-next-trigger' ) ); }, 100 ); } }, bgText: function ( $holder ) { if ( $holder.hasClass( 'qodef-album-player-slider' ) ) { var $itemActive = $holder.find( '.swiper-slide.swiper-slide-active' ); var $bgText = $holder.find( '.qodef-swiper-bg-text' ); var $authorName = $itemActive.find( '.qodef-e-info-content-link' ).text(); var $bgTextPrevHolder = $holder.find( '.qodef-swiper-bg-text-prev' ); if ( $itemActive.length ) { $bgTextPrevHolder.removeClass( 'qodef-animate-out' ); $bgText.removeClass( 'qodef-animate-in' ); $bgTextPrevHolder.text( $bgText.text() ); $bgText.text( $authorName ); setTimeout( function () { $bgTextPrevHolder.addClass( 'qodef-animate-out' ); $bgText.addClass( 'qodef-animate-in' ); }, 10 ); } } }, stopAutoplay: function ( $holder ) { if ( $holder.hasClass( 'qodef-album-player-slider' ) ) { setTimeout( function () { var $stopSelectors = $( '.qodef-m-player-controls ul li a' ); if ( $stopSelectors.length ) { $stopSelectors.each( function () { var $thisItem = $( this ); $thisItem.on( 'tap click', function ( e ) { $holder[0].swiper.autoplay.stop(); } ); } ); } }, 500 ); } }, getEvents: function ( $holder, options ) { return { on: { init: function () { $holder.addClass( 'qodef-swiper--initialized' ); qodef.body.trigger( 'micdrop_trigger_swiper_is_initialized', [$holder, options] ); if ( options.sliderScroll ) { var scrollStart = false; $holder.on( 'mousewheel', function ( e ) { e.preventDefault(); if ( ! scrollStart ) { scrollStart = true; if ( e.deltaY < 0 ) { $holder[0].swiper.slideNext(); } else { $holder[0].swiper.slidePrev(); } setTimeout( function () { scrollStart = false; }, 1000 ); } } ); } qodefSwiper.cursorNavigation( $holder ); qodefSwiper.stopAutoplay( $holder ); $( window ).resize( function () { qodefSwiper.cursorNavigation( $holder ); } ); }, slideChangeTransitionStart: function () { qodefSwiper.bgText( $holder ); } } }; } }; qodef.qodefSwiper = qodefSwiper; /** * Init magnific popup galleries */ var qodefMagnificPopup = { init: function ( settings ) { this.holder = $( '.qodef-magnific-popup' ); // Allow overriding the default config $.extend( this.holder, settings ); if ( this.holder.length ) { this.holder.each( function () { qodefMagnificPopup.initPopup( $( this ) ); } ); } }, initPopup: function ( $currentItem ) { if ( $currentItem.hasClass( 'qodef-popup-item' ) ) { qodefMagnificPopup.initSingleImagePopup( $currentItem ); } else if ( $currentItem.hasClass( 'qodef-popup-gallery' ) ) { qodefMagnificPopup.initGalleryPopup( $currentItem ); } }, initSingleImagePopup: function ( $popup ) { var type = $popup.data( 'type' ); $popup.magnificPopup( { type: type, titleSrc: 'title', removalDelay: 350, mainClass: 'mfp-fade', image: { cursor: null }, closeMarkup: '<button title="%title%" type="button" class="mfp-close">' + qodefGlobal.vars.iconClose + '</button>', // markup of an arrow button } ); }, initGalleryPopup: function ( $popup ) { var $items = $popup.find( '.qodef-popup-item' ), itemsFormatted = qodefMagnificPopup.generateGalleryItems( $items ); $items.each( function ( index ) { var $this = $( this ); $this.magnificPopup( { items: itemsFormatted, gallery: { enabled: true, arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%">' + qodefGlobal.vars.iconArrowLeft + '</button>', // markup of an arrow button }, index: index, type: 'image', removalDelay: 350, mainClass: 'mfp-fade', image: { cursor: null }, closeMarkup: '<button title="%title%" type="button" class="mfp-close">' + qodefGlobal.vars.iconClose + '</button>', // markup of an arrow button } ); } ); }, generateGalleryItems: function ( $items ) { var itemsFormatted = []; if ( $items.length ) { $items.each( function () { var $thisItem = $( this ); var itemFormatted = { src: $thisItem.attr( 'href' ), title: $thisItem.attr( 'title' ), type: $thisItem.data( 'type' ) }; itemsFormatted.push( itemFormatted ); } ); } return itemsFormatted; } }; qodef.qodefMagnificPopup = qodefMagnificPopup; var qodefAnchor = { items: '', init: function ( settings ) { this.holder = $( '.qodef-anchor' ); // Allow overriding the default config $.extend( this.holder, settings ); if ( this.holder.length ) { qodefAnchor.items = this.holder; qodefAnchor.clickTrigger(); $( window ).on( 'load', function () { qodefAnchor.checkAnchorOnScroll(); qodefAnchor.checkAnchorOnLoad(); } ); } }, clickTrigger: function () { qodefAnchor.items.on( 'click', function ( e ) { var $anchorItem = qodefAnchor.getAnchorItem( this ), anchorURL = $anchorItem.attr( 'href' ), hash = $anchorItem.prop( 'hash' ).split( '#' )[1], pageURL = window.location.href, pageHash = pageURL.indexOf( '#' ) > -1 ? pageURL.split( '#' )[1] : 0; if ( anchorURL.indexOf( 'http' ) < 0 || anchorURL === pageURL || (pageHash !== 0 && anchorURL.substring( 0, anchorURL.length - hash.length - 1 ) === pageURL.substring( 0, pageURL.length - pageHash.length - 1 )) || (pageHash === 0 && anchorURL.substring( 0, anchorURL.length - hash.length - 1 ) === pageURL) ) { e.preventDefault(); } qodefAnchor.animateScroll( $anchorItem, hash ); } ); }, checkAnchorOnLoad: function () { var hash = window.location.hash.split( '#' )[1]; if ( typeof hash !== 'undefined' && hash !== '' && qodefAnchor.items.length ) { qodefAnchor.items.each( function () { var $anchorItem = qodefAnchor.getAnchorItem( this ); if ( $anchorItem.attr( 'href' ).indexOf( hash ) > -1 ) { qodefAnchor.animateScroll( $anchorItem, hash ); } } ); } }, checkAnchorOnScroll: function () { if ( qodef.windowWidth > 1024 ) { var $target = $( '#qodef-page-inner *[id]' ); if ( $target.length ) { $target.each( function () { var $currentTarget = $( this ), $anchorItem = $( '[href*="#' + $currentTarget.attr( 'id' ) + '"]' ); if ( $anchorItem.length ) { if ( qodefAnchor.isTargetInView( $currentTarget ) ) { qodefAnchor.setActiveState( $anchorItem ); } $( window ).scroll( function () { if ( qodefAnchor.isTargetInView( $currentTarget ) ) { qodefAnchor.setActiveState( $anchorItem ); } else { $anchorItem.removeClass( qodefAnchor.getItemClasses( $anchorItem ) ); } } ); } } ); } } }, isTargetInView: function ( $target ) { var rect = $target[0].getBoundingClientRect(), percentVisible = 20, windowHeight = (window.innerHeight || document.documentElement.clientHeight); return ! ( Math.floor( 100 - (((rect.top >= 0 ? 0 : rect.top) / +-(rect.height / 1)) * 100) ) < percentVisible || Math.floor( 100 - ((rect.bottom - windowHeight) / rect.height) * 100 ) < percentVisible ); }, getAnchorItem: function ( item ) { var isItemLink = item.tagName === 'A'; return isItemLink ? $( item ) : $( item ).children( 'a' ); }, animateScroll: function ( $item, hash ) { var $target = hash !== '' ? $( '[id="' + hash + '"]' ) : ''; if ( $target.length ) { var targetPosition = $target.offset().top, scrollAmount = targetPosition - qodefAnchor.getHeaderHeight() - qodefGlobal.vars.adminBarHeight; qodefAnchor.setActiveState( $item ); qodef.html.stop().animate( { scrollTop: Math.round( scrollAmount ) }, 1000, function () { //change hash tag in url if ( history.pushState ) { history.pushState( null, '', '#' + hash ); } } ); return false; } }, getHeaderHeight: function () { var height = 0; if ( qodef.windowWidth > 1024 && qodefGlobal.vars.headerHeight !== null && qodefGlobal.vars.headerHeight !== '' ) { height = parseInt( qodefGlobal.vars.headerHeight, 10 ); } return height; }, setActiveState: function ( $item ) { var isItemLink = ! $item.parent().hasClass( 'qodef-anchor' ), classes = qodefAnchor.getItemClasses( $item ); qodefAnchor.items.removeClass( classes ); if ( isItemLink ) { $item.addClass( classes ); } else { $item.parent().addClass( classes ); } }, getItemClasses: function ( $item ) { // Main anchor item class plus header item classes if item is inside header var activeClass = 'qodef-anchor--active', menuItemClasses = $item.parents( '#qodef-page-header' ) ? ' current-menu-item current_page_item' : ''; return activeClass + menuItemClasses; } }; qodef.qodefAnchor = qodefAnchor; /** * Init animation on appear */ var qodefAppear = { init: function () { this.holder = $( '.qodef--has-appear:not(.qodef--has-horizontal-appear), .qodef--has-custom-appear' ); function getRandomArbitrary( min, max ) { return Math.floor( Math.random() * (max - min) + min ); } if ( this.holder.length ) { this.holder.each( function () { var holder = $( this ), randomNum = getRandomArbitrary( 10, 400 ); if ( holder.hasClass( 'qodef--appear-delay-random' ) ) { holder.appear( function () { setTimeout( function () { holder.addClass( 'qodef--appeared ' ); }, randomNum ); }, { accX: 0, accY: qodefGlobal.vars.elementAppearAmount } ); } else if ( holder.hasClass( 'qodef--appear-delay' ) ) { holder.appear( function () { setTimeout( function () { holder.addClass( 'qodef--appeared' ); }, 50 ); }, { accX: 0, accY: -10 } ); } else { holder.appear( function () { holder.addClass( 'qodef--appeared ' ); }, { accX: 0, accY: -50 } ); } } ); } }, }; qodef.qodefAppear = qodefAppear; var qodefButton = { init: function () { this.buttons = $( '.qodef-button, .button.single_add_to_cart_button' ); if ( this.buttons.length ) { this.buttons.each( function () { qodefButton.initItem( $( this ) ); } ); } }, initItem: function ( $currentItem ) { qodefButton.buttonHoverColor( $currentItem ); qodefButton.buttonHoverBgColor( $currentItem ); qodefButton.buttonHoverBorderColor( $currentItem ); qodefButton.buttonHoverBehavior( $currentItem ); }, /** * Initializes button hover color * @param $button current button */ buttonHoverColor: function ( $button ) { if ( typeof $button.data( 'hover-color' ) !== 'undefined' ) { var originalColor = $button.css( 'color' ); var hoverColor = $button.data( 'hover-color' ); var changeButtonColor = function ( event ) { event.data.button.css( 'color', event.data.color ); }; // Simple button if ( $button.hasClass( 'qodef-btn-simple' ) ) { $button.on( 'mouseenter', { button: $button, color: hoverColor }, changeButtonColor ); $button.on( 'mouseleave', { button: $button, color: originalColor }, changeButtonColor ); } // Outline & Solid button if ( $button.hasClass( 'qodef-layout--filled' ) || $button.hasClass( 'qodef-layout--outlined' ) ) { var buttonText = $button.find( '.qodef-m-text' ); var buttonTextColor = $button.data( 'color' ); if ( ! $button.hasClass( 'qodef--button-inited' ) ) { buttonText.css( 'color', buttonTextColor ); } $button.on( 'mouseenter', function () { if ( ! $button.hasClass( 'qodef-btn-hovered' ) ) { buttonText.css( 'color', hoverColor ); setTimeout( function () { buttonText.css( 'color', buttonTextColor ); }, 600 ); } } ); } } }, /** * Initializes button hover background color * @param $button current button */ buttonHoverBgColor: function ( $button ) { if ( typeof $button.data( 'hover-background-color' ) !== 'undefined' ) { var hoverBgColor = $button.data( 'hover-background-color' ); $button.css( 'color', hoverBgColor ); } }, /** * Initializes button border color * @param $button */ buttonHoverBorderColor: function ( $button ) { if ( typeof $button.data( 'hover-border-color' ) !== 'undefined' ) { var changeBorderColor = function ( event ) { event.data.button.css( 'border-color', event.data.color ); }; var originalBorderColor = $button.css( 'borderTopColor' ); //take one of the four sides var hoverBorderColor = $button.data( 'hover-border-color' ); $button.on( 'mouseenter', { button: $button, color: hoverBorderColor }, changeBorderColor ); $button.on( 'mouseleave', { button: $button, color: originalBorderColor }, changeBorderColor ); } }, buttonHoverBehavior: function ( $button ) { $button.on( 'mouseenter', function () { if ( ! $button.hasClass( 'qodef-btn-hovered' ) ) { var thisButton = $( this ); thisButton.addClass( 'qodef-btn-hovered' ); setTimeout( function () { thisButton.removeClass( 'qodef-btn-hovered' ); }, 1200 ); } } ); }, changeColor: function ( $button, cssProperty, color ) { $button.css( cssProperty, color ); } }; qodef.qodefButton = qodefButton; var qodefRevSliderJs = { init: function () { var revapis = $( 'rs-module' ); if ( revapis.length ) { revapis.each( function () { var revapi = $( this ); revapi.bind( 'revolution.slide.onloaded', function () { setTimeout( function () { qodefCore.shortcodes.micdrop_core_button.qodefButton.init(); }, 100 ); } ); revapi.on( 'revolution.slide.onchange', function () { setTimeout( function () { qodefCore.shortcodes.micdrop_core_button.qodefButton.init(); }, 100 ); } ); } ); } } }; qodef.qodefRevSliderJs = qodefRevSliderJs; /* * Add html to various buttons */ var qodefWooModifiedButton = { init: function () { // var $button = $('.woocommerce-form-login__submit, .coupon button, button[name="update_cart"], .checkout-button, #place_order, .wc-forward, ' + // '.woocommerce-Button, .wc-backward, .qodef-woo-product-image-inner a, .single_add_to_cart_button, .woocommerce-form-coupon button,.wc-forward,' + // '.wc-backward, .qodef-m-checkout-link, .qodef-m-cart-link, .qodef-woo-product-button-holder a'); var $button = $( '.woocommerce-message .wc-forward.button,.woocommerce-cart .actions .button,' + '.woocommerce-cart .wc-proceed-to-checkout .button,.woocommerce-checkout .button#place_order, #qodef-woo-page.qodef--checkout .woocommerce-form-coupon>p .button, .qodef-m-action a, .woocommerce-account .button, .woocommerce-page div.woocommerce>.return-to-shop a' ), $buttonOnlyEvents = $( '.qodef-woo-product-content .button, .qodef-woo-product-content .added_to_cart, .qodef-m-action-link' ); qodefWooModifiedButton.addHtmlandInitEvents( $button ); qodefWooModifiedButton.initEvents( $buttonOnlyEvents ); }, addHtmlandInitEvents: function ( button ) { if ( button.length ) { button.each( function () { var thisButton = $( this ); if ( ! thisButton.find( '.qodef-m-text' ).length ) { thisButton.addClass( 'qodef-button qodef-hover--custom' ); thisButton.wrapInner( '<div class=\'qodef-m-text\'></div>' ); thisButton.on( 'mouseenter', function () { if ( ! thisButton.hasClass( 'qodef-btn-hovered' ) ) { thisButton.addClass( 'qodef-btn-hovered' ); setTimeout( function () { thisButton.removeClass( 'qodef-btn-hovered' ); }, 1200 ); } } ); } } ); } }, initEvents: function ( button ) { if ( button.length ) { button.each( function () { var thisButton = $( this ); thisButton.on( 'mouseenter', function () { if ( ! thisButton.hasClass( 'qodef-btn-hovered' ) ) { thisButton.addClass( 'qodef-btn-hovered' ); setTimeout( function () { thisButton.removeClass( 'qodef-btn-hovered' ); }, 1200 ); } } ); } ); } } }; qodef.qodefWooModifiedButton = qodefWooModifiedButton; if ( typeof Object.assign !== 'function' ) { Object.assign = function ( target ) { if ( target === null || typeof target === 'undefined' ) { throw new TypeError( 'Cannot convert undefined or null to object' ); } target = Object( target ); for ( var index = 1; index < arguments.length; index++ ) { var source = arguments[index]; if ( source !== null ) { for ( var key in source ) { if ( Object.prototype.hasOwnProperty.call( source, key ) ) { target[key] = source[key]; } } } } return target; }; } })( jQuery ); (function ( $ ) { 'use strict'; $( document ).ready( function () { qodefResizeIframes.init(); } ); $( window ).resize( function () { qodefResizeIframes.init(); } ); $( document ).on( 'micdrop_trigger_get_new_posts', function ( e, $holder ) { if ( $holder.hasClass( 'qodef-blog' ) ) { qodefReInitMediaElementPostFormats.resize( $holder ); qodefResizeIframes.resize( $holder ); } } ); /** * Re init media element post formats (audio, video) */ var qodefReInitMediaElementPostFormats = { init: function () { var $holder = $( '.qodef-blog' ); if ( $holder.length ) { qodefReInitMediaElementPostFormats.resize( $holder ); } }, resize: function ( $holder ) { var $mediaElement = $holder.find( '.wp-video-shortcode, .wp-audio-shortcode' ).not( '.mejs-container' ); if ( $mediaElement.length ) { $mediaElement.each( function () { var $thisMediaElement = $( this ); if ( typeof $thisMediaElement.mediaelementplayer === 'function' ) { $thisMediaElement.mediaelementplayer( { videoWidth: '100%', videoHeight: '56.5%', } ); } } ); } } }; qodef.qodefReInitMediaElementPostFormats = qodefReInitMediaElementPostFormats; /** * Resize oembed iframes */ var qodefResizeIframes = { init: function () { var $holder = $( '.qodef-blog' ); if ( $holder.length ) { qodefResizeIframes.resize( $holder ); } }, resize: function ( $holder ) { var $iframe = $holder.find( '.qodef-e-media iframe' ); if ( $iframe.length ) { $iframe.each( function () { var $thisIframe = $( this ), width = $thisIframe.attr( 'width' ), height = $thisIframe.attr( 'height' ), newHeight = $thisIframe.width() / width * height; // rendered width divided by aspect ratio $thisIframe.css( 'height', newHeight ); } ); } } }; qodef.qodefResizeIframes = qodefResizeIframes; })( jQuery ); (function ( $ ) { 'use strict'; $( document ).ready( function () { qodefFilter.init(); } ); $( document ).on( 'micdrop_trigger_get_new_posts', function ( e, $holder ) { if ( $holder.hasClass( 'qodef-filter--on' ) ) { $holder.removeClass( 'qodef--filter-loading' ); } } ); /* ** Init filter functionality */ var qodefFilter = { customListQuery: {}, init: function ( settings ) { this.holder = $( '.qodef-filter--on' ); // Allow overriding the default config $.extend( this.holder, settings ); if ( this.holder.length ) { this.holder.each( function () { var $holder = $( this ), $filterItems = $holder.find( '.qodef-m-filter-item' ); qodefFilter.checkCustomListQuery( $holder.data( 'options' ) ); qodefFilter.clickEvent( $holder, $filterItems ); if ( $holder.hasClass( 'qodef-filter-show-all-hidden' ) ) { var $filterItemActive = $holder.find( '.qodef-m-filter-item.qodef--init-active' ); $filterItemActive.trigger( 'click' ); // initiate click to active item when show all is hidden } } ); } }, checkCustomListQuery: function ( options ) { if ( typeof options.additional_query_args !== 'undefined' && typeof options.additional_query_args.tax_query !== 'undefined' ) { qodefFilter.customListQuery = options.additional_query_args.tax_query; } }, clickEvent: function ( $holder, $filterItems ) { $filterItems.on( 'click', function ( e ) { e.preventDefault(); var $thisItem = $( this ); if ( ! $thisItem.hasClass( 'qodef--active' ) ) { if ( ! $holder.hasClass( 'qodef--filter-loading' ) ) { $holder.addClass( 'qodef--filter-loading' ); } if ( $holder.hasClass( 'qodef-filter-show-all-hidden-loading' ) ) { $holder.removeClass( 'qodef-filter-show-all-hidden-loading' ); } $filterItems.removeClass( 'qodef--active' ); $thisItem.addClass( 'qodef--active' ); qodefFilter.setVisibility( $holder, $thisItem ); } } ); }, setVisibility: function ( $holder, $item ) { var filterTaxonomy = $item.data( 'taxonomy' ), filterValue = $item.data( 'filter' ), isShowAllFilter = filterValue === '*', options = $holder.data( 'options' ), taxQueryOptions = {}; if ( ! isShowAllFilter ) { taxQueryOptions = { 0: { taxonomy: filterTaxonomy, field: typeof filterValue === 'number' ? 'term_id' : 'slug', terms: filterValue, }, }; } else { taxQueryOptions = qodefFilter.customListQuery; } options.additional_query_args = { tax_query: taxQueryOptions, }; qodef.body.trigger( 'micdrop_trigger_load_more', [$holder, 1] ); }, isMasonryLayout: function ( $holder ) { return $holder.hasClass( 'qodef-layout--masonry' ); }, hasLoadMore: function ( $holder ) { return $holder.hasClass( 'qodef-pagination-type--load-more' ); } }; qodef.qodefFilter = qodefFilter; })( jQuery ); (function ( $ ) { 'use strict'; $( document ).ready( function () { qodefJustifiedGallery.init(); } ); $( document ).on( 'micdrop_trigger_get_new_posts', function () { qodefJustifiedGallery.init(); } ); /** * Init justified gallery functionality */ var qodefJustifiedGallery = { init: function () { var $holder = $( '.qodef-layout--justified-gallery' ); if ( $holder.length ) { $holder.each( function () { qodefJustifiedGallery.setJustifyGallery( $( this ) ); } ); } }, setJustifyGallery: function ( $holder ) { var galleryOptions = $holder.data( 'options' ), $galleryInner = $holder.children( '.qodef-grid-inner' ), rowHeight = typeof galleryOptions.justified_gallery_row_height !== 'undefined' && galleryOptions.justified_gallery_row_height !== '' ? galleryOptions.justified_gallery_row_height : 150, maxRowHeight = typeof galleryOptions.justified_gallery_row_height_max !== 'undefined' && galleryOptions.justified_gallery_row_height_max !== '' ? galleryOptions.justified_gallery_row_height_max : false, margin = typeof galleryOptions.space_value !== 'undefined' ? galleryOptions.space_value * 2 : 0, justifyTreshold = typeof galleryOptions.justified_gallery_treshold !== 'undefined' && galleryOptions.justified_gallery_treshold !== '' ? galleryOptions.justified_gallery_treshold : 0.75; $galleryInner.waitForImages( function () { if ( typeof $galleryInner.justifiedGallery === 'function' ) { $galleryInner.justifiedGallery( { captions: false, rowHeight: rowHeight, maxRowHeight: maxRowHeight, margins: margin, border: 0, lastRow: 'nojustify', justifyThreshold: justifyTreshold, selector: '.qodef-grid-item' } ).on( 'jg.complete jg.rowflush', function () { var $gal = $( this ), deducted = false; $gal.find( '.qodef-grid-item' ).addClass( 'show' ).each( function () { var $thisItem = $( this ); $thisItem.height( Math.round( $thisItem.height() ) ); if ( ! deducted && $thisItem.width() === 0 ) { $gal.height( $gal.height() - $thisItem.height() - margin ); deducted = true; } } ); } ); } $holder.addClass( 'qodef--justified-gallery-init' ); } ); } }; qodef.qodefJustifiedGallery = qodefJustifiedGallery; })( jQuery ); (function ( $ ) { 'use strict'; $( document ).ready( function () { qodefMasonryLayout.init(); } ); $( window ).resize( function () { qodefMasonryLayout.reInit(); } ); $( document ).on( 'micdrop_trigger_get_new_posts', function ( e, $holder ) { if ( $holder.hasClass( 'qodef-layout--masonry' ) ) { qodefMasonryLayout.init(); } } ); /** * Init masonry layout */ var qodefMasonryLayout = { init: function ( settings ) { this.holder = $( '.qodef-layout--masonry' ); // Allow overriding the default config $.extend( this.holder, settings ); if ( this.holder.length ) { this.holder.each( function () { qodefMasonryLayout.createMasonry( $( this ) ); } ); } }, reInit: function ( settings ) { this.holder = $( '.qodef-layout--masonry' ); // Allow overriding the default config $.extend( this.holder, settings ); if ( this.holder.length ) { this.holder.each( function () { var $masonry = $( this ).find( '.qodef-grid-inner' ); if ( typeof $masonry.isotope === 'function' ) { $masonry.isotope( 'layout' ); } } ); } }, createMasonry: function ( $holder ) { var $masonry = $holder.find( '.qodef-grid-inner' ), $masonryItem = $masonry.find( '.qodef-grid-item' ); $masonry.waitForImages( function () { if ( typeof $masonry.isotope === 'function' ) { $masonry.isotope( { layoutMode: 'packery', itemSelector: '.qodef-grid-item', percentPosition: true, masonry: { columnWidth: '.qodef-grid-masonry-sizer', gutter: '.qodef-grid-masonry-gutter' } } ); if ( $holder.hasClass( 'qodef-items--fixed' ) ) { var size = qodefMasonryLayout.getFixedImageSize( $masonry, $masonryItem ); qodefMasonryLayout.setFixedImageProportionSize( $masonry, $masonryItem, size ); } $masonry.isotope( 'layout' ); } $masonry.addClass( 'qodef--masonry-init' ); } ); }, getFixedImageSize: function ( $holder, $item ) { var $squareItem = $holder.find( '.qodef-item--square' ); if ( $squareItem.length ) { var $squareItemImage = $squareItem.find( 'img' ), squareItemImageWidth = $squareItemImage.width(), squareItemImageHeight = $squareItemImage.height(); if ( squareItemImageWidth !== squareItemImageHeight ) { return squareItemImageHeight; } else { return squareItemImageWidth; } } else { var size = $holder.find( '.qodef-grid-masonry-sizer' ).width(), padding = parseInt( $item.css( 'paddingLeft' ), 10 ); return (size - 2 * padding); // remove item side padding to get real item size } }, setFixedImageProportionSize: function ( $holder, $item, size ) { var padding = parseInt( $item.css( 'paddingLeft' ), 10 ), $squareItem = $holder.find( '.qodef-item--square' ), $landscapeItem = $holder.find( '.qodef-item--landscape' ), $portraitItem = $holder.find( '.qodef-item--portrait' ), $hugeSquareItem = $holder.find( '.qodef-item--huge-square' ), isMobileScreen = qodef.windowWidth <= 680; $item.css( 'height', size ); if ( $landscapeItem.length ) { $landscapeItem.css( 'height', Math.round( size / 2 ) ); } if ( $portraitItem.length ) { $portraitItem.css( 'height', Math.round( 2 * (size + padding) ) ); } if ( ! isMobileScreen ) { if ( $landscapeItem.length ) { $landscapeItem.css( 'height', size ); } if ( $hugeSquareItem.length ) { $hugeSquareItem.css( 'height', Math.round( 2 * (size + padding) ) ); } } } }; qodef.qodefMasonryLayout = qodefMasonryLayout; })( jQuery ); (function ( $ ) { 'use strict'; $( document ).ready( function () { qodefMobileHeader.init(); } ); /* ** Init mobile header functionality */ var qodefMobileHeader = { init: function () { var $holder = $( '#qodef-page-mobile-header' ); if ( $holder.length ) { qodefMobileHeader.initMobileHeaderOpener( $holder ); qodefMobileHeader.initDropDownMobileMenu(); } }, initMobileHeaderOpener: function ( holder ) { var $opener = holder.find( '.qodef-mobile-header-opener' ); if ( $opener.length ) { var $navigation = holder.find( '.qodef-mobile-header-navigation' ); $opener.on( 'tap click', function ( e ) { e.preventDefault(); if ( $navigation.is( ':visible' ) ) { $navigation.slideUp( 450 ); $opener.removeClass( 'qodef--opened' ); } else { $navigation.slideDown( 450 ); $opener.addClass( 'qodef--opened' ); } } ); } }, initDropDownMobileMenu: function () { var $dropdownOpener = $( '.qodef-mobile-header-navigation .menu-item-has-children > .qodef-menu-item-arrow, .qodef-mobile-header-navigation .menu-item-has-children.qodef--hide-link > a' ); if ( $dropdownOpener.length ) { $dropdownOpener.each( function () { var $thisItem = $( this ); $thisItem.on( 'tap click', function ( e ) { e.preventDefault(); var $thisItemParent = $thisItem.parent(), $thisItemParentSiblingsWithDrop = $thisItemParent.siblings( '.menu-item-has-children' ); if ( $thisItemParent.hasClass( 'menu-item-has-children' ) ) { var $submenu = $thisItemParent.find( 'ul.sub-menu' ).first(); if ( $submenu.is( ':visible' ) ) { $submenu.slideUp( 450 ); $thisItemParent.removeClass( 'qodef--opened' ); } else { $thisItemParent.addClass( 'qodef--opened' ); if ( $thisItemParentSiblingsWithDrop.length === 0 ) { $thisItemParent.find( '.sub-menu' ).slideUp( 400, function () { $submenu.slideDown( 400 ); } ); } else { $thisItemParent.siblings().removeClass( 'qodef--opened' ).find( '.sub-menu' ).slideUp( 400, function () { $submenu.slideDown( 400 ); } ); } } } } ); } ); } } }; })( jQuery ); (function ( $ ) { $( document ).ready( function () { qodefDefaultNavMenu.init(); } ); var qodefDefaultNavMenu = { init: function () { var $menuItems = $( '.qodef-header-navigation.qodef-header-navigation-initial > ul > li.qodef-menu-item--narrow.menu-item-has-children' ); if ( $menuItems.length ) { $menuItems.each( function () { var thisItem = $( this ), menuItemPosition = thisItem.offset().left, dropdownMenuItem = thisItem.find( ' > ul' ), dropdownMenuWidth = dropdownMenuItem.outerWidth(), menuItemFromLeft = $( window ).width() - menuItemPosition; var dropDownMenuFromLeft; if ( thisItem.find( 'li.menu-item-has-children' ).length > 0 ) { dropDownMenuFromLeft = menuItemFromLeft - dropdownMenuWidth; } dropdownMenuItem.removeClass( 'qodef-drop-down--right' ); if ( menuItemFromLeft < dropdownMenuWidth || dropDownMenuFromLeft < dropdownMenuWidth ) { dropdownMenuItem.addClass( 'qodef-drop-down--right' ); } } ); } } }; })( jQuery ); (function ( $ ) { 'use strict'; $( document ).ready( function () { qodefPagination.init(); } ); $( window ).scroll( function () { qodefPagination.scroll(); } ); $( document ).on( 'micdrop_trigger_load_more', function ( e, $holder, nextPage ) { qodefPagination.triggerLoadMore( $holder, nextPage ); } ); /* ** Init pagination functionality */ var qodefPagination = { init: function ( settings ) { this.holder = $( '.qodef-pagination--on' ); // Allow overriding the default config $.extend( this.holder, settings ); if ( this.holder.length ) { this.holder.each( function () { var $holder = $( this ); qodefPagination.initPaginationType( $holder ); } ); } }, scroll: function ( settings ) { this.holder = $( '.qodef-pagination--on' ); // Allow overriding the default config $.extend( this.holder, settings ); if ( this.holder.length ) { this.holder.each( function () { var $holder = $( this ); if ( $holder.hasClass( 'qodef-pagination-type--infinite-scroll' ) ) { qodefPagination.initInfiniteScroll( $holder ); } } ); } }, initPaginationType: function ( $holder ) { if ( $holder.hasClass( 'qodef-pagination-type--standard' ) ) { qodefPagination.initStandard( $holder ); } else if ( $holder.hasClass( 'qodef-pagination-type--load-more' ) ) { qodefPagination.initLoadMore( $holder ); } else if ( $holder.hasClass( 'qodef-pagination-type--infinite-scroll' ) ) { qodefPagination.initInfiniteScroll( $holder ); } }, initStandard: function ( $holder, nextPage ) { var $paginationItems = $holder.find( '.qodef-m-pagination-items' ); if ( $paginationItems.length ) { var options = $holder.data( 'options' ), current_page = typeof nextPage !== 'undefined' && nextPage !== '' ? parseInt( nextPage, 10 ) : 1; qodefPagination.changeStandardState( $holder, options.max_pages_num, current_page ); $paginationItems.children().each( function () { var $thisItem = $( this ); $thisItem.on( 'click', function ( e ) { e.preventDefault(); if ( ! $thisItem.hasClass( 'qodef--active' ) ) { qodefPagination.getNewPosts( $holder, $thisItem.data( 'paged' ) ); } } ); } ); } }, changeStandardState: function ( $holder, maxPagesNum, nextPage ) { if ( $holder.hasClass( 'qodef-pagination-type--standard' ) ) { var $paginationNav = $holder.find( '.qodef-m-pagination-items' ), $numericItem = $paginationNav.children( '.qodef--number' ), $prevItem = $paginationNav.children( '.qodef--prev' ), $nextItem = $paginationNav.children( '.qodef--next' ); qodefPagination.standardPaginationVisibility( $paginationNav, maxPagesNum ); $numericItem.removeClass( 'qodef--active' ).eq( nextPage - 1 ).addClass( 'qodef--active' ); $prevItem.data( 'paged', nextPage - 1 ); if ( nextPage > 1 ) { $prevItem.show(); $prevItem.next().removeClass( 'qodef-prev--hidden' ); } else { $prevItem.hide(); $prevItem.next().addClass( 'qodef-prev--hidden' ); } $nextItem.data( 'paged', nextPage + 1 ); if ( nextPage === maxPagesNum ) { $nextItem.hide(); } else { $nextItem.show(); } } }, standardPaginationVisibility: function ( $paginationNav, maxPagesNum ) { if ( maxPagesNum === 1 ) { $paginationNav.hide(); } else if ( maxPagesNum > 1 && ! $paginationNav.is( ':visible' ) ) { $paginationNav.show(); } }, changeStandardHtml: function ( $holder, maxPagesNum, nextPage, $pagination_html ) { if ( $holder.hasClass( 'qodef-pagination-type--standard' ) ) { var $paginationNav = $holder.find( '.qodef-m-pagination' ), $paginationSpinner = $holder.find( '.qodef-m-pagination-spinner' ); qodefPagination.standardPaginationVisibility( $paginationNav, maxPagesNum ); $paginationNav.remove(); $paginationSpinner.remove(); $holder.append( $pagination_html ); qodefPagination.initStandard( $holder, nextPage ); } }, triggerStandardScrollAnimation: function ( $holder ) { if ( $holder.hasClass( 'qodef-pagination-type--standard' ) ) { $( 'html, body' ).animate( { scrollTop: $holder.offset().top - 100 }, 500 ); } }, initLoadMore: function ( $holder ) { var $loadMoreButton = $holder.find( '.qodef-load-more-button' ); $loadMoreButton.on( 'click', function ( e ) { e.preventDefault(); qodefPagination.getNewPosts( $holder ); } ); }, triggerLoadMore: function ( $holder, nextPage ) { qodefPagination.getNewPosts( $holder, nextPage ); }, loadMoreButtonVisibility: function ( $holder, options ) { if ( $holder.hasClass( 'qodef-pagination-type--load-more' ) ) { if ( options.next_page > options.max_pages_num || options.max_pages_num === 1 ) { $holder.find( '.qodef-load-more-button' ).hide(); } else if ( options.max_pages_num > 1 && options.next_page <= options.max_pages_num ) { $holder.find( '.qodef-load-more-button' ).show(); } } }, initInfiniteScroll: function ( $holder ) { var holderEndPosition = $holder.outerHeight() + $holder.offset().top, scrollPosition = qodef.scroll + qodef.windowHeight, options = $holder.data( 'options' ); if ( ! $holder.hasClass( 'qodef--loading' ) && scrollPosition > holderEndPosition && options.max_pages_num >= options.next_page ) { qodefPagination.getNewPosts( $holder ); } }, getNewPosts: function ( $holder, nextPage ) { $holder.addClass( 'qodef--loading' ); var $itemsHolder = $holder.children( '.qodef-grid-inner' ); var options = $holder.data( 'options' ); qodefPagination.setNextPageValue( options, nextPage, false ); $.ajax( { type: 'GET', url: qodefGlobal.vars.restUrl + qodefGlobal.vars.paginationRestRoute, data: { options: options }, beforeSend: function ( request ) { request.setRequestHeader( 'X-WP-Nonce', qodefGlobal.vars.restNonce ); }, success: function ( response ) { if ( response.status === 'success' ) { // Override max page numbers options if ( options.max_pages_num !== response.data.max_pages_num ) { options.max_pages_num = response.data.max_pages_num; } qodefPagination.setNextPageValue( options, nextPage, true ); qodefPagination.changeStandardHtml( $holder, options.max_pages_num, nextPage, response.data.pagination_html ); $itemsHolder.waitForImages( function () { qodefPagination.addPosts( $itemsHolder, response.data.html, nextPage ); qodefPagination.reInitMasonryPosts( $holder, $itemsHolder ); setTimeout( function () { qodef.body.trigger( 'micdrop_trigger_get_new_posts', [$holder, response.data, nextPage] ); }, 300 ); // 300ms is set in order to be after the masonry script initialize } ); qodefPagination.triggerStandardScrollAnimation( $holder ); qodefPagination.loadMoreButtonVisibility( $holder, options ); } else { console.log( response.message ); } }, complete: function () { $holder.removeClass( 'qodef--loading' ); } } ); }, setNextPageValue: function ( options, nextPage, ajaxTrigger ) { if ( typeof nextPage !== 'undefined' && nextPage !== '' && ! ajaxTrigger ) { options.next_page = nextPage; } else if ( ajaxTrigger ) { options.next_page = parseInt( options.next_page, 10 ) + 1; } }, addPosts: function ( $itemsHolder, newItems, nextPage ) { if ( typeof nextPage !== 'undefined' && nextPage !== '' ) { $itemsHolder.html( newItems ); } else { $itemsHolder.append( newItems ); } }, reInitMasonryPosts: function ( $holder, $itemsHolder ) { if ( $holder.hasClass( 'qodef-layout--masonry' ) ) { $itemsHolder.isotope( 'reloadItems' ).isotope( { sortBy: 'original-order' } ); setTimeout( function () { $itemsHolder.isotope( 'layout' ); }, 200 ); } } }; qodef.qodefPagination = qodefPagination; })( jQuery ); (function ( $ ) { 'use strict'; $( document ).ready( function () { qodefWooSelect2.init(); qodefWooQuantityButtons.init(); qodefWooFilterButtonArrow.init(); qodefWooListButtonIcon.init(); qodefWooListButtonIconGrouped.init(); qodefWooListButtonIconExternal.init(); qodefWooListButtonIconAddedToCart.init(); qodefWooButtonsWrapInner.init(); qodefWooTabsWrapInner.init(); qodefWooSkuToLowercase.init(); qodefWooMagnificPopup.init(); } ); var qodefWooSelect2 = { init: function ( settings ) { this.holder = []; this.holder.push( { holder: $( '#qodef-woo-page .woocommerce-ordering select' ), options: { minimumResultsForSearch: Infinity } } ); this.holder.push( { holder: $( '#qodef-woo-page .variations select' ), options: { minimumResultsForSearch: Infinity } } ); this.holder.push( { holder: $( '#qodef-woo-page #calc_shipping_country' ), options: {} } ); this.holder.push( { holder: $( '#qodef-woo-page .shipping select#calc_shipping_state' ), options: {} } ); this.holder.push( { holder: $( '.widget.widget_archive select' ), options: {} } ); this.holder.push( { holder: $( '.widget.widget_categories select' ), options: {} } ); this.holder.push( { holder: $( '.widget.widget_text select' ), options: {} } ); // Allow overriding the default config $.extend( this.holder, settings ); if ( typeof this.holder === 'object' ) { $.each( this.holder, function ( key, value ) { qodefWooSelect2.createSelect2( value.holder, value.options ); } ); } }, createSelect2: function ( $holder, options ) { if ( typeof $holder.select2 === 'function' ) { $holder.select2( options ); } } }; var qodefWooQuantityButtons = { init: function () { $( document ).on( 'click', '.qodef-quantity-minus, .qodef-quantity-plus', function ( e ) { e.stopPropagation(); var $button = $( this ), $inputField = $button.siblings( '.qodef-quantity-input' ), step = parseFloat( $inputField.data( 'step' ) ), max = parseFloat( $inputField.data( 'max' ) ), min = parseFloat( $inputField.data( 'min' ) ), minus = false, inputValue = typeof Number.isNaN === 'function' && Number.isNaN( parseFloat( $inputField.val() ) ) ? min : parseFloat( $inputField.val() ), newInputValue; if ( $button.hasClass( 'qodef-quantity-minus' ) ) { minus = true; } if ( minus ) { newInputValue = inputValue - step; if ( newInputValue >= min ) { $inputField.val( newInputValue ); } else { $inputField.val( min ); } } else { newInputValue = inputValue + step; if ( max === undefined ) { $inputField.val( newInputValue ); } else { if ( newInputValue >= max ) { $inputField.val( max ); } else { $inputField.val( newInputValue ); } } } $inputField.trigger( 'change' ); } ); } }; var qodefWooFilterButtonArrow = { init: function () { var buttons = $( '.widget.woocommerce.widget_price_filter .price_slider_amount button' ); if ( buttons.length ) { buttons.each( function() { var button = $( this ); var appendHtml = '<svg class="qodef-filter-btn-arrow" xmlns="http://www.w3.org/2000/svg" width="11.4959" height="10.1209" viewBox="0 0 11.4959 10.1209"><g><rect y="3.9886" width="10.0417" height="2"></rect><polyline points="5.925 9.593 10.438 5.043 5.925 0.53"></polyline></g><g><rect y="3.9886" width="10.0417" height="2"></rect><polyline points="5.925 9.593 10.438 5.043 5.925 0.53"></polyline></g></svg>'; button.append( appendHtml ); } ); } } } qodef.qodefWooFilterButtonArrow = qodefWooFilterButtonArrow; var qodefWooListButtonIcon = { init: function () { var buttons = $( '.qodef-woo-product-list .button:not(.product_type_grouped):not(.product_type_external)' ); if ( buttons.length ) { buttons.each( function() { var button = $( this ); var appendHtml = '<svg class="qodef-woo-list-btn-icon" xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><rect y="5" width="12" height="2"/><rect y="5" width="12" height="2" transform="translate(0 12) rotate(-90)"/></svg>'; button.append( appendHtml ); } ); } } } qodef.qodefWooListButtonIcon = qodefWooListButtonIcon; var qodefWooListButtonIconGrouped = { init: function () { var buttons = $( '.qodef-woo-product-list .button.product_type_grouped' ); if ( buttons.length ) { buttons.each( function() { var button = $( this ); var appendHtml = '<svg class="qodef-woo-list-btn-icon-arrow" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="11.5px" height="10.1px" viewBox="0 0 11.5 10.1" style="enable-background:new 0 0 11.5 10.1;" xml:space="preserve"><rect style="fill: currentColor;" y="4" width="10" height="2"/><polyline style="fill: none; stroke: currentColor; stroke-width: 1.5; stroke-miterlimit: 10;" points="5.9,9.6 10.4,5 5.9,0.5 "/></svg>'; button.append( appendHtml ); } ); } } } qodef.qodefWooListButtonIconGrouped = qodefWooListButtonIconGrouped; var qodefWooListButtonIconExternal = { init: function () { var buttons = $( '.qodef-woo-product-list .button.product_type_external' ); if ( buttons.length ) { buttons.each( function() { var button = $( this ); var appendHtml = '<svg xmlns="http://www.w3.org/2000/svg" width="9.6218" height="9.6218" viewBox="0 0 9.6218 9.6218"><rect style="fill: currentColor;" x="-0.864" y="4.1218" width="10.7281" height="2" transform="translate(-2.3036 4.6822) rotate(-45)"/><polyline style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 2px;" points="1.136 1 8.622 1 8.622 8.345"/></svg>'; button.append( appendHtml ); } ); } } } qodef.qodefWooListButtonIconExternal = qodefWooListButtonIconExternal; var qodefWooListButtonIconAddedToCart = { init: function () { $( 'body' ).on( 'added_to_cart', function() { var buttons = $( '.qodef-woo-product-list .added_to_cart' ); if ( buttons.length ) { buttons.each( function() { var button = $( this ); var appendHtml = '<svg class="qodef-woo-list-btn-icon-added" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="13px" height="9.7px" viewBox="0 0 13 9.7" style="enable-background:new 0 0 13 9.7; fill: currentColor;" xml:space="preserve"><g><path d="M0.2,5.3c-0.3-0.3-0.3-0.7,0-0.9l0.9-0.9c0.3-0.3,0.7-0.3,0.9,0l2.8,2.8L11,0.2c0.3-0.3,0.7-0.3,0.9,0l0.9,0.9 c0.3,0.3,0.3,0.7,0,0.9L5.3,9.5c-0.3,0.3-0.7,0.3-0.9,0L0.2,5.3z"/></g></svg>'; var appendHtmlExist = button.find( '.qodef-woo-list-btn-icon-added' ); /* prevent multiple append */ if ( ! appendHtmlExist.length ) { button.append( appendHtml ); } } ); } } ); } } qodef.qodefWooListButtonIconAddedToCart = qodefWooListButtonIconAddedToCart; var qodefWooButtonsWrapInner = { init: function () { var buttons = $( '.button.single_add_to_cart_button' ); if ( buttons.length ) { buttons.each( function() { var button = $( this ); button.wrapInner( "<span class='qodef-m-text'></span>" ); } ); } } } qodef.qodefWooButtonsWrapInner = qodefWooButtonsWrapInner; var qodefWooTabsWrapInner = { init: function () { var buttons = $( '#qodef-woo-page.qodef--single .woocommerce-tabs .wc-tabs li a' ); if ( buttons.length ) { buttons.each( function() { var button = $( this ); button.wrapInner( "<span class='qodef-tab-title'></span>" ); } ); } } } qodef.qodefWooTabsWrapInner = qodefWooTabsWrapInner; var qodefWooSkuToLowercase = { init: function () { var skus = $( '#qodef-woo-page .product_meta > .sku_wrapper .qodef-woo-meta-label' ); if ( skus.length ) { skus.each( function() { var sku = $( this ); sku.text( sku.text().toLowerCase() ); } ); } } } qodef.qodefWooSkuToLowercase = qodefWooSkuToLowercase; var qodefWooMagnificPopup = { init: function () { if ( typeof qodef.qodefMagnificPopup === 'object' ) { var $holder = $( '.qodef--single.qodef-magnific-popup.qodef-popup-gallery .woocommerce-product-gallery__image' ); if ( $holder.length ) { $holder.each( function () { $( this ).children( 'a' ).attr( 'data-type', 'image' ).addClass( 'qodef-popup-item' ); } ); qodef.qodefMagnificPopup.init(); } } } }; qodef.qodefWooMagnificPopup = qodefWooMagnificPopup; })( jQuery );
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | ���֧ߧ֧�ѧ�ڧ� ����ѧߧڧ��: 0.13 |
proxy
|
phpinfo
|
���ѧ����ۧܧ�