Hey friend, in the previous jQuery Learning tutorial, I wrote an article that helps you to create your own jQuery plugin with the fun zooming effect. This plugin has received a lot of attention for a while and there are some suggestion from you guys to help this plugin to be better. I collected some interesting recommendations and bug fixes from my readers to write it again and release it. This plugin now is more flexible, easy to customize and working with all major web browsers with any size of images. Sounds cool? Enjoy it!
Like the article? Be sure to subscribe to our RSS feed and follow us on Twitter to stay up on recent content.
What’s this plugin?
BubbleUp is a jQuery plugin released from a jQuery tutorial Learning jQuery: Your First jQuery Plugin, “BubbleUP†which helps you to create your first jQuery plugin. It’s not just for demonstration, it’s useable. With BubbleUP, images in a list will enlarge with a smooth animation when you move your mouse over it. Then, if you move the mouse out, it will reset to the original size with the same smooth animation. Imagine the Mac Dock effect, although this plugin’s effect is not awesome like that, it’s light weight for such a similar zooming effect.
Features:
- Your menu will be scaled in any size via the option.
- You decide to enable the tooltip or not.
- The tooltip would be customizable by font, size and color.
- The speed of the transition (in/out) can be controlled.
Demonstration
This is how this plugin is in action. The image will be restored to the original size when you mouse over it, then reseted to initial size when you mouse out.
The icons used in this tutorial can be found free here.
I cannot take full credit for this plugin. I would like to give big thanks to Jonathan Uhlmann and Icehawg for the code optimization and suggestion.
[inline]
[/inline]
Requirements
- Images for menu items.
- The jQuery library
- Download this plugin
- No more requirement
Options
This jQuery plugins has some handy options, so you can customize it to override the default values
| Option | Type | Default | Description |
|---|---|---|---|
| tooltip | boolean | false | Enable or disable the tooltip for the menu items |
| scale | number | 96 | The size of menu item will be scaled to |
| fontFamily | string | Helvetica, Arial, sans-serif | Font-family for the tooltip |
| color | hexadecimal | #333333 | Color for the tooltip |
| fontSize | number | 12 | Font size for the tooltip |
| fontWeight | string | bold | You can customzie the tooltip to make it bold, light, italic… |
| inSpeed | string/number | fast | Value of the time which menu item complete its transition in mouse in event |
| outSpeed | string/number | fast | Value of the time which menu item complete its transition in mouse out event |
Download
This plugin were built for fun and learning jQuery purpose, so you can download it for free and using it without restriction. Ensure to credit it to this page when you use it elsewhere. If not, I won’t mind. Am I nice?
- Source file (js format)
- The whole package with css file (without the demonstration)
Usage
Make sure you already implement jQuery library. I recommend to use jQuery hosted from Google:
<script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
Now you need to link the javascript file that you created above into your web page. For this, we’ll use this code:
<script type="text/javascript"src="js/bubbleup.jquery.js"></script>
To make the plugin work, we need to use this code below. You can insert it anywhere you want as long as it’s inside the <head> or <body> tags:
<script type="text/javascript"> $(function(){ $("ul#menu li img").bubbleup(); }); </script>
Another example with option enable:
<script type="text/javascript"> $(function(){ $("div#demo ul#menu li img").bubbleup({tooltip: true, scale:64}); }); </script>
Changelog
- Version 1.0
- Written again by Jonathan Uhlman and Icehawg
- Fixed IE7 issue: unexpected transition when click on the item
- Fixed Opera 10 rendering bug: ugly rendering, the image was cut off and blurry.
- Fixed transition issue with z-index.
- Added some stuff to optimize the plugin.
- Ouch, IE6? Sorry!
- Initial version (tutorial) Worked only with specific image size.
P/S: To someone who cannot see it works here. The plugin will work fine, if you cannot see it does, please download and run it in your own example. It’s sometime caused by others jQuery plugins to make it conflicted. Furthermore, maybe once day, I will change the theme and I won’t work anymore, just download it! Cheer!








Great Job,Lam!
.-= Madalin´s last blog ..100 Creative and Smart Black and White Logo Designs =-.
Thanks dude!
Nice work Lam!
You are making some awesome tutorials on jQuery Lam
.-= SmashingWebs.com´s last blog ..10 Testing and Check Before Launching Your Web =-.
Nice tutorial. I think something like this could come in handy on a project or two
Good tut Lam, tahnks!
.-= Nikola Lazarevic´s last blog ..Cute And Colorful Easter Wallpapers =-.
Cool job lam. Will use this in my next project
.-= Vikas Ghodke´s last blog ..25 Unusual website layout for design inspiration =-.
Really awesome plugin dude! These can be pretty neat to implement on any type of blog or website
.-= Inside the Webb´s last blog ..Interview with Jacob Gube of Six Revisions Design Blog =-.
Very nice plugin Lam. Thanks for the tutorial. In addition, if there is a development or design blog thinking about IE6 then they should change the profession. So, do not worry about IE6 with the plugin. BTW good job!
.-= Teylor Feliz´s last blog ..Interview: Chad Engle, Editor of Fuel Your Creativity =-.
great job Lam – be awesome to have a spoon fed on how to implement this on our WP blogs
cheers
.-= Ben´s last blog ..209 Stunning and Hilarious Illustrator Designs by Glenn Jones =-.
Great work Lam. This plugin is really good for any blog website.
Thanks guys, hope you like it! Any suggestion and bugs report would be appreciated!!!!
jQuery is awesome…will start learning it
.-= Jitendra Kumar´s last blog ..WordPress 3.0 Beta 1 is available for download =-.
Thanks very much for this tutorial! Btw. it’s not working in IE7 for me (7.0.5730.13 to be exact).
Whoa. I am using an effect just like this one in a website I’m working on. Weird coincidence.
That is a really nice effect, with direct implications.
nice!
suggestion: a set of transition effects; swirl, fade, color switch, bounce, so on…
@Lam – very good solution, and works
fine in Opera 10.10. Best regards.
.-= Paweł P.´s last blog ..Internet Standard prezentuje raport "adStandard 2010" =-.
This is very creative and the tutorial is well done. Great work.
.-= Matthias´s last blog ..PixelZoomer: Firefox-Erweiterung für Webentwickler =-.
looks good on chrome / xp
pretty slick
This is nice one! Thanks Lam. Good job!
.-= Zoran´s last blog ..How I Took Inspiration From Our 600+ Year Old Family Crest =-.
I missed the whole article, i just made a vote with the social website. This is useful article Lam, great work
.-= Mars´s last blog ..17 Apple Stobe Cube Photos =-.
Very, very fancy effect! Does not work on IE7 though.
Why though
?
The menu displays nicely, yet the hover effect does not occur in IE7. And why? Still a large number of visitors use IE7 (10.5% in March 2010) – whether u like it or not
And if my client/boss wants this fancy menu to work on all browsers, I’m not inclined to integrate it unless it is browser-compliant. But once again – very nice job!
UPDATE: I downloaded your script, and strangely enough:
- it works locally in IE7
- this url does not work in IE7
How is that possible?
UPDATE: I can confirm that it runs very smoothly on IE7! Here’s what I did:
- in IE7 I changed > Tools > Internet Options > Advanced : uncheck the ‘Disable Script Debuging (Internet Explorer). Strange that they don’t mention the word JavaScript.
- You then have to wait a few seconds before the effect occurs! Great!
Fancy browser-compliant plugin! Keep up the great work
p.
How would you position the tip under the image?
I’d like to know how to solve this problem。
Cool! Lam
I’ll use it on my site
dear lam
its amazing i love it…i need ur guidance i m working as web and graphic designer not a web developer please guide me how can i learn AS2 or AS3 and basic javascript so that I can be alrounder . Thankyou and will wait for your reply
sarf
Nice effect! …might try it sometime when I want a different look
I wish theres a way to make the icons appear vertically like on my page now
Thanks Lam for this plugin!
I had some problems with it, mainly that it didn’t enlarge the height of the images. I started to mess with the js file, and found that the height variable was not set. I made these modifications:
var h=$(this).height();
‘width’:w, ‘height’:h (in the .css parts where the image is enlarged)
height:opt.scale (in the animate part)
Also I could not change the color of the tooltip through the short-code for some reason, but I made it in the js, together with some more fine tuning the tool-tip (display:block, padding and background-color)
The end-result (below the small CD images):
http://mind-jart.baksagaspar.com/mind-jart/
If you want, I can send you the js with my modifications also.
Best Regards,
gas
man,
The itens disappeares in google Chrome & Safari when mouse is over.
Great plugin!
I’m interested in one thing, how can I put tooltip under the picture?
Has anyone tried it? Lam, do you have an idea?
What can i do to change the position of the words that appears on hover from top to down?
For example: “I’m on Facebook” … move this from top of the facebook icon to below the icon
Great effort..
Thanks
thanx………….. n wish u luck, do some more
is there anyway to use a sepearte image for the bubbleup. i want the initial image to be in greyscale and when you hover over the image i want it to be in color. really nice plugin btw.
This is perfect and just the effect i was looking for. Thanks for sharing.
Very nice and useful, thank you for sharing!
i need google images search style
thank you!!
thanks a like it.friend
Doesnt work in chrome = can’t use
a great tool and easy to plug in. thx there!
This was the BEST example ever! Your directions are fantastic! You made my week!