Advertisement
Guest User

facetwp

a guest
Jun 1st, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.28 KB | None | 0 0
  1. /Facet reload
  2. add_action('wp_footer', 'ava_custom_script');
  3. function ava_custom_script(){
  4.     ?>
  5.     <script type="text/javascript">
  6.         (function($) { 
  7.             $(document).on('facetwp-loaded', function() {
  8.                 // -------------------------------------------------------------------------------------------
  9.                 // hover effect for images
  10.                 // -------------------------------------------------------------------------------------------
  11.                 function avia_hover_effect(container)
  12.                 {
  13.                     //hover overlay for mobile device doesnt really make sense. in addition it often slows down the click event
  14.                     if($.avia_utilities.isMobile) return;
  15.  
  16.                     var overlay = "", cssTrans = $.avia_utilities.supports('transition');
  17.  
  18.                     if(container == 'body')
  19.                     {
  20.                         var elements = $('#main a img').parents('a').not('.noLightbox, .noLightbox a, .avia-gallery-thumb a, .ls-wp-container a, .noHover, .noHover a, .av-logo-container .logo a').add('#main .avia-hover-fx');
  21.                     }
  22.                     else
  23.                     {
  24.                         var elements = $('a img', container).parents('a').not('.noLightbox, .noLightbox a, .avia-gallery-thumb a, .ls-wp-container a, .noHover, .noHover a, .av-logo-container .logo a').add('.avia-hover-fx', container);
  25.                     }
  26.  
  27.                    elements.each(function(e)
  28.                    {
  29.                         var link = $(this),
  30.                             current = link.find('img:first');
  31.  
  32.                         if(current.hasClass('alignleft')) link.addClass('alignleft').css({float:'left', margin:0, padding:0});
  33.                         if(current.hasClass('alignright')) link.addClass('alignright').css({float:'right', margin:0, padding:0});
  34.                         if(current.hasClass('aligncenter')) link.addClass('aligncenter').css({float:'none','text-align':'center', margin:0, padding:0});
  35.  
  36.                         if(current.hasClass('alignnone'))
  37.                         {
  38.                            link.addClass('alignnone').css({margin:0, padding:0});;
  39.                            if(!link.css('display') || link.css('display') == 'inline') { link.css({display:'inline-block'}); }
  40.                         }
  41.  
  42.                         if(!link.css('position') || link.css('position') == 'static') { link.css({position:'relative', overflow:'hidden'}); }
  43.  
  44.                         var url         = link.attr('href'),
  45.                             span_class  = "overlay-type-video",
  46.                             opa         = link.data('opacity') || 0.7,
  47.                             overlay_offset = 5,
  48.                             overlay     = link.find('.image-overlay');
  49.  
  50.                             if(url)
  51.                             {
  52.                                 if( url.match(/(jpg|gif|jpeg|png|tif)/) ) span_class = "overlay-type-image";
  53.                                 if(!url.match(/(jpg|gif|jpeg|png|\.tif|\.mov|\.swf|vimeo\.com|youtube\.com)/) ) span_class = "overlay-type-extern";
  54.                             }
  55.  
  56.                             if(!overlay.length)
  57.                             {
  58.                                 overlay = $("<span class='image-overlay "+span_class+"'><span class='image-overlay-inside'></span></span>").appendTo(link);
  59.                             }
  60.  
  61.                             link.on('mouseenter', function(e)
  62.                             {
  63.                                 var current = link.find('img:first'),
  64.                                     _self   = current.get(0),
  65.                                     outerH  = current.outerHeight(),
  66.                                     outerW  = current.outerWidth(),
  67.                                     pos     = current.position(),
  68.                                     linkCss = link.css('display'),
  69.                                     overlay = link.find('.image-overlay');
  70.  
  71.                                 if(outerH > 100)
  72.                                 {
  73.  
  74.                                     if(!overlay.length)
  75.                                     {
  76.                                         overlay = $("<span class='image-overlay "+span_class+"'><span class='image-overlay-inside'></span></span>").appendTo(link);
  77.  
  78.                                     }
  79.                                     //can be wrapped into if !overlay.length statement if chrome fixes fade in problem
  80.                                     if(link.height() == 0) { link.addClass(_self.className); _self.className = ""; }
  81.                                     if(!linkCss || linkCss == 'inline') { link.css({display:'block'}); }
  82.                                     //end wrap
  83.  
  84.                                     overlay.css({left:(pos.left - overlay_offset) + parseInt(current.css("margin-left"),10), top:pos.top + parseInt(current.css("margin-top"),10)})
  85.                                            .css({overflow:'hidden',display:'block','height':outerH,'width':(outerW + (2*overlay_offset))});
  86.  
  87.                                     if(cssTrans === false ) overlay.stop().animate({opacity:opa}, 400);
  88.                                 }
  89.                                 else
  90.                                 {
  91.                                     overlay.css({display:"none"});
  92.                                 }
  93.  
  94.                             }).on('mouseleave', elements, function(){
  95.  
  96.                                 if(overlay.length)
  97.                                 {
  98.                                     if(cssTrans === false ) overlay.stop().animate({opacity:0}, 400);
  99.                                 }
  100.                             });
  101.                     });
  102.                 }
  103.                
  104.                 avia_hover_effect('body');
  105.  
  106.                 if($.fn.avia_activate_lightbox){
  107.                     $('body').avia_activate_lightbox();
  108.                 }
  109.             });    
  110.         })(jQuery);
  111.     </script>
  112.     <?php
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement