Показать сообщение отдельно
  #31 (permalink)  
Старый 09.04.2013, 16:36
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

вообщем можно создать объект вида
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", "Обед")

Последний раз редактировалось tsigel, 09.04.2013 в 16:55.
Ответить с цитированием