вообщем можно создать объект вида
var Messege = function (timeStart, timeEnd, messege) {
this.timeStart = timeStart;
this.timeEnd = timeEnd;
this.messege = messege;
this.createInit();//Запускаем инициализацию создания элемента
}
Messege.prototype.createInit = function () {
if (/*время создания уже наступило*/) {
this.createAsTime();
} else {
this.createAsTime(this.currentTimeToCreate()); //рассчитываем время до создания (в мс)
}
}
Messege.prototype.createAsTime = function (time) {
if (time != null) {
setTimeout(this.addElement, time);
} else {
/*функция создания элемента*/
}
}
Messege.prototype.addElement = function () {
$(/*место*/).append('<div>' + this.messege + '</div>');
this.$ = $(/*место*/).find('div').last();
this.removeMessegeInit();
}
Messege.prototype.removeMessegeInit = function () {
this.removeAsTime(this.currentTimeToRemove()); //рассчитываем время до удаления (в мс)
}
Messege.prototype.removeAsTime = function (time) {
setTimeout(this.remove, time);
}
Для каждого сообщения создаем экземпляр класса Messege, и у каждого будут вышеперечисленные методы.
Создаем экземпляр:
var a = new Messege("10:00", "15:00", "Обед")