Check it out on CSS-tricks:
http://css-tricks.com/examples/GarageDoorMenu.zip
and
http://css-tricks.com/examples/GarageDoorMenu/
Edit:
It uses two DIV's placed on top of each other. Then when you hover, it will animate the background-position property of the "garage-door" div. The garage-door is transparent below it's "door" graphics, such that you can view the layer below.
This particular implementation uses JQuery:
$(".link").hover(function(){
$(this).parent().stop()
.animate({backgroundPosition: '(0px -100px)'}, 500 );
}, function() {
$(this).parent().stop()
.animate({backgroundPosition: '(0px 0px)'}, 500 );
});