I've used a timer (global) here is the jsfiddle : http://jsfiddle.net/zL5jZ/
var timer = false;
function mousein_triger(){
clearTimeout(timer);
$('.object').stop().animate({"top": "0px"}, 300);
}
function mouseout_triger() {
timer = setTimeout(function(){
$('.object').stop().delay(1000).animate({"top": "-180px"}, 1000);
}, 400)
}
after 400ms without hovering a block, the block closes itself, else it stays open as you wish.
am I right ? :)