@kostarus61

Замена текста плагин Noty?

Доброй ночи!

Начну сразу с сути проблемы. Использую jQuery плагин Noty для вывода уведомлений. В нем есть такая функция как setText - Замена текста и setType - Замена типа. Мне нужно сделать так, что бы если я нажимаю на одну кнопку несколько раз, плагин не выводил несколько раз уведомления с задержкой, а заменял текст в уже открытом уведомлении.

Делаю следующим образом:
function send(){
   var n; // Объявляю переменную для Noty
   $.ajax({
      type: "POST",
      dataType: "json",
      ......
      success: (function(){
         return function(data){
            if(n){      // Вся проблема здесь как проверить есть ли открытое уведомление или нет?
               n.setText(data.message);       // Тут текст на который надо заменить в текущем уведомлении
               n.setType(data.status);       // Тут тип
            } else {      // Ну и если нету открытого то выводим как обычно
               n = noty({
                  text: data.message,
                  type: data.status,
                  .........
                  callback: {
                     afterClose: function(){ n=null; },      // По закрытию уведомления обнуляем значение n
                  }
               });
            }
         };
      })()
   })
   return false;
}


Подскажите кто знает что и где подправить или модет я вообще не так делаю?
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ответы на вопрос 1
@kostarus61 Автор вопроса
Вообщем сделал следующим образом, window.n = noty({:
if(typeof(n) !== "undefined"){
               n.setText(data.message); 
               n.setType(data.status); 
            } else { 
               window.n = noty({
                  text: data.message,
                  type: data.status,
                  .........
                  callback: {
                     afterClose: function(){  delete n; },      // По закрытию уведомления обнуляем значение n
                  }
               });
            }


Является ли правильным такое объявление переменной? По сути ведь это глобальная переменная, что не есть хорошо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы