Why does delay() work here:
$('#tipper').mouseout(function() {
$('#tip').delay(800).fadeOut(100);
});
But this fails to delay:
$('#tipper').mouseout(function() {
$('#tip').delay(800).css('display','none');
});
// EDIT - here's a working solution
// EDIT 2 - some bugs fixed
$('#tipper').mouseleave(function() {
setTimeout( function(){
$('#tip').css({'display','none'});
},800);
});