labcoatmedia

Roll-over Snippet

Jul 25th, 2011
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. |---------------------------------------------------
  3. | Code by Shaun Shull (http://forrst.com/people/eshinobi)
  4. | Extend jQuery
  5. |---------------------------------------------------
  6. */
  7.  
  8. $.fn.extend({
  9.  
  10.     /*
  11.     |---------------------------------------------------
  12.     | Image Rollover Naming Convention
  13.     |---------------------------------------------------
  14.     */
  15.     rollname:"-on",
  16.  
  17.     /*
  18.     |---------------------------------------------------
  19.     | Preload
  20.     |---------------------------------------------------
  21.     */
  22.    
  23.     preLoad: function(){
  24.         $(this).load(function(){
  25.             var nameArr = $(this).attr("src").split(".");
  26.             var cacheImage = document.createElement('img');
  27.             cacheImage.src = nameArr[0]+$(this).rollname+"."+nameArr[1];
  28.             $(this).unbind('load');
  29.         });
  30.     },
  31.    
  32.     /*
  33.     |---------------------------------------------------
  34.     | Roll-On
  35.     |---------------------------------------------------
  36.     */
  37.    
  38.     rollOn: function(){
  39.         if ($(this).attr("src").indexOf($(this).rollname+".") === -1) {
  40.             var nameArr = $(this).attr("src").split(".");
  41.             $(this).attr("src", nameArr[0]+$(this).rollname+"."+nameArr[1]);
  42.         }
  43.     },
  44.    
  45.     /*
  46.     |---------------------------------------------------
  47.     | Roll-Off
  48.     |---------------------------------------------------
  49.     */
  50.    
  51.     rollOff: function(){
  52.         if ($(this).attr("src").indexOf($(this).rollname+".") != -1) {
  53.             var nameArr = $(this).attr("src").split(".");
  54.             $(this).attr("src", nameArr[0].substr(0, nameArr[0].length-3)+"."+nameArr[1]);
  55.         }
  56.     },
  57.  
  58.     /*
  59.     |---------------------------------------------------
  60.     | Roll-Over
  61.     |---------------------------------------------------
  62.     */
  63.    
  64.     rollOver: function(){
  65.         $(this).preLoad();
  66.         $(this).mouseenter(function(){ $(this).rollOn(); });
  67.         $(this).mouseleave(function(){ $(this).rollOff(); });
  68.     }
  69.  
  70. });
Advertisement
Add Comment
Please, Sign In to add comment