2013-07-20 3 views
3

У меня есть твиттер BootBox открыть так:Как показать оставшиеся секунды, пока мой загрузочный бокс не закроется?

bootbox.dialog("{{$steps[0]}}"); 

после десяти секунд, я закрываю мой BootBox так:

window.setTimeout(function(){ 
    bootbox.hideAll(); 
}, 10000); 

Можно не показывать оставшиеся секунды до закрытия в BootBox?

ответ

5

Вы можете добавить div на Ваше сообщение, как это:

bootbox.dialog("Your message <div id='SecondsRemaining'>10</div>"); 

Затем обновите его с помощью этой функции:

(function(){ 
    var remaining = 10; // Number of seconds 
    var obj = document.getElementById("SecondsRemaining"); 
    var timeout = window.setInterval(function(){ 
     remaining--; 
     if(remaining==0) { 
      // Time is up, stop the timer and hide the bootbox 
      window.clearInterval(timeout); 
      bootbox.hideAll(); 
      return; 
     } 
     obj.innerHTML = remaining; // Update the value displayed 
    }, 1000); // Decrease counter every second 
})(); 

Для bootbox 4+ формат изменился. Диалоговое окно должно быть создано:

bootbox.dialog({ message: "Your message <div id='SecondsRemaining'>10</div>" }); 
+1

Wow, perfect! Спасибо огромное! – davidOhara

+1

@chrizstone Нет проблем, пожалуйста. – Scott

+0

@Scott Я получил эту ошибку: 'Ошибка: поставьте объект опций' Вы знаете, как я могу это сделать, чтобы решить эту проблему? Я использую Bootbox v4.3 – candlejack