here is one I put together
you might have to alter it to check if it is the first item that is clicked though.
$('li.method-item').click(function () {
var item = $(this);
var ul = item.parent();
item.css({
position: 'absolute',
top: item.position().top,
width: item.width()+'px',
background: '#fff'
});
item.animate(
{top: 0},
{speed: 200, complete: function(){
var itemclone = item.detach();
itemclone.css({position: 'relative', top: '0px', background: 'none'});
ul.prepend(itemclone);
}}
);
});
EDIT :
Use the one in the fiddle below
I have updated it to take make sure the clicked one is always on top and also to check if the first item is clicked.