Guest User

Untitled

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