I didn't test it because all I'd seen led me to believe what I wrote above. Plus, testing it requires me to fire up a Windows box (blech).
However, you are certainly write - it works. Below is the updated code. I made a couple changes from what you wrote. Namely, I don't use "self", use the new jQuery 1.4 syntax for creating elements, and don't wrap "notification" in another $() wrapper, as it's already a jQuery object.
Thanks for the advice - it does clean up the code a bit.
var Notify = {
displayFor:2000,
animationDuration:750,
show:function(text){
if($("#notify-wrapper").length == 0)
$('body').append('<div id = "notify-wrapper"></div>');
var notification = $("<div>",{
"class":"notification",
"text":text,
"click":function(){ Notify.hide($(this)); }
}).appendTo($("#notify-wrapper"));
setTimeout(function(){Notify.hide(notification);},this.displayFor);
},
hide:function(notification){
notification.slideUp(this.animationDuration,function(){ $(this).remove(); });
}
}