Edit in JSFiddle

/*
 * Bubbleup 0.0.2 - Spicing up menu jQuery plugin
 *
 * Tranform the images inside the list items like Mac Dock effect
 *
 * Homepage: http://aext.net/2010/04/bubbleup-jquery-plugin/
 *
 * Copryright? I don't have any!
 *
 * First written by Lam Nguyen (yah, it's me)
 * Written again by Jonathan Uhlmann http://jonnitto.ch
 * Thanks to Icehawg (Hey, I don't know anything from him, just a name
 * http://aext.net/2010/02/learn-jquery-first-jquery-plugin-bubbleup/#comment-6777)
 *
 * Formatted, enhanced & documented by JRDiaz <[email protected]>
 * http://3nibbles.blogspot.com/
 *
 *    - Formatted text
 *    - Automated CSS of the elements for minimal impact on css file
 *    - Added animations effects
 *    - Added usage documentation, sample data structure and minimal CSS needed
 *    - Tooltip styling with CSS
 *
 * USAGE
 *     $("#container .listElement .element").bubbleup();
 *
 * DATA STRUCTURE. Only needed elements are "element" and his container. Tooltip text is element's alt text
 *     <div id="container">
 *         <ul id="list">
 *             <li class="listElement"> <a href="http://xxx"><img class="element" src="images/yyy.png" alt="Alt text"/> </a> </li>
 *         </ul>
 *     </div>
 *
 * CSS - Container width/height must be set and be the same to element width/height
 *   .bubbleup_tooltip { padding: 2px; border: 1px solid black; background: lightyellow; -moz-border-radius: 10px; border-radius: 10px; } /* Sample * /
 *     #container { text-align: center; }                                  /* Sample to get text centering   * /
 *         #container #list { list-style: none; display: inline-block; }   /* list-style and display samples * /
 *             #container #list .listElement { width: 48px; height: 48px; float: left; }    /* float is sample * /
 *                 #container #list .listElement .element { width: 48px; } /* same width as listElement      * /
 */
(function($){
    $.fn.bubbleup = function(options) {
        // Plugin parameters and defaults
        $.fn.bubbleup.defaults = {
            tooltip   : false,
            scale     : 96,
            fontSize  : 12,
            fontFamily: 'Helvetica, Arial, sans-serif',
            color     : '#333333',
            fontWeight: 'bold',
            inSpeed   : 'fast',
            outSpeed  : 'fast',
            inAnim    : 'swing',
            outAnim   : 'swing'
        };

        //Extend the default options of plugin
        var opt = $.extend( {}, $.fn.bubbleup.defaults, options),
                tip = null;

        return this.each(function() {
            var w = $(this).width();

            // Style modifications to the element make it works as intended
            $(this).css( {
                position: 'relative'
            } );

            // Mouseover
            $(this).mouseover( function() {
                // Tooltip control
                if(opt.tooltip) {
                    tip = $('<div>' + $(this).attr('alt') + '</div>').css( {
                        fontFamily: opt.fontFamily,
                        color     : opt.color,
                        fontSize  : opt.fontSize,
                        fontWeight: opt.fontWeight,
                        position  : 'absolute',
                        zIndex    : 100000
                    } ).remove().css({
                        top       : 0,
                        left      : 0,
                        visibility: 'hidden',
                        display   : 'block'
                    } ).addClass('bubbleup_tooltip').appendTo(document.body);

                    var position = $.extend( {}, $(this).offset(), {
                        width:this.offsetWidth,
                        height:this.offsetHeight
                    }),
                    tipWidth  = tip[0].offsetWidth,
                    tipHeight = tip[0].offsetHeight;

                    tip.stop().css( {
                        top       : position.top - tipHeight,
                        left      : position.left + position.width / 2 - tipWidth / 2,
                        visibility: 'visible'
                    }).animate( {
                        top: '-=' + (opt.scale / 2 - w / 2)
                    }, opt.inSpeed, opt.inAnim);
                }

                $(this).closest('li').css( { 'z-index': 100000 } );

                $(this).stop().css( {
                    'z-index': 100000,
                    'top'        : 0,
                    'left'     : 0,
                    'width'    : w
                } ).animate({
                    left : -opt.scale / 2 + w / 2,
                    top  : -opt.scale / 2 + w / 2,
                    width: opt.scale
                }, opt.inSpeed, opt.inAnim);

            });

            // Mouseout
            $(this).mouseout(function(){
                $(this).closest('li').css( { 'z-index': 100 } );
                $(this).closest('li').next().css( { 'z-index': 0 } );
                $(this).closest('li').next().css( { 'z-index': 0 } );
                $(this).closest('li').next().children('img').css( { 'z-index': 0 } );

                if(opt.tooltip) { tip.remove(); }
                $(this).stop().animate( {
                    left : 0,
                    top  : 0,
                    width: w
                }, opt.outSpeed, opt.outAnim, function() {
                    $(this).css( { 'z-index': 0 } );
                });
            });
        });
    };
})(jQuery);


// SAMPLE CODE!
$(function(){
     $("div#demo ul#menu li img").bubbleup({tooltip: true, scale:96, inSpeed: 100, outSpeed: 100});
});
 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>BubbleUp 0.0.2</title>
</head>
<body>

<div id="demo">
  <ul id="menu">
    <li> <a href="http://feeds2.feedburner.com/aextnet"><img src="http://aext.net/example/bubbleboo-jquery-plugin-tutorial/images/feed.png" alt="Full RSS Feed"/></a> </li>
    <li> <a href="http://feedburner.google.com/fb/a/mailverify?uri=aextnet&amp;loc=en_U"> <img src="http://aext.net/example/bubbleboo-jquery-plugin-tutorial/images/email.png" alt="E-Mail Delivery"/></a> </li>
    <li> <a href="http://twitter.com/aextnet"> <img src="http://aext.net/example/bubbleboo-jquery-plugin-tutorial/images/twitter.png" alt="Follow us on Twitter"/></a> </li>
    <li> <a href="http://facebook.com/aextnet"> <img src="http://aext.net/example/bubbleboo-jquery-plugin-tutorial/images/facebook.png" alt="I'm on FaceBook"/></a> </li>
    <li> <a href="http://delicious.com/save" onclick="window.open('http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url=http://aext.net&amp;title=AEXT.NET', 'delicious','toolbar=no,width=550,height=550'); return false;"> <img src="http://aext.net/example/bubbleboo-jquery-plugin-tutorial/images/delicious.png" alt="Save it!"/></a> </li>
    <li> <a href="http://technorati.com/faves?sub=addfavbtn&add=http://aext.net"> <img src="http://aext.net/example/bubbleboo-jquery-plugin-tutorial/images/technorati.png" alt="Favorite this blog"/></a> </li>
  </ul>
</div>
<div style="clear: both;"></div>

</body>
</html>
    
div#demo { margin: 50px auto 50px auto; text-align: center; }

div#demo ul#menu {
    margin: 5px 0px;
    list-style: none;
    display: inline-block;
}

div#demo ul#menu li {
    float: left;
    width: 48px;
    height: 48px;
    margin: 5px;
}

div#demo ul#menu li a {}

div#demo ul#menu li img { width: 48px; }

.bubbleup_tooltip { 
    padding: 2px; 
    border: 1px solid black; 
    background: lightyellow; 

    -moz-border-radius: 10px; 
         border-radius: 10px; 
}