0

У нас есть собственный код, который перехватывает встроенную функциональность Bootstrap и позволяет получать контент через AJAX и отображать его в названном модале. Вот код, который отображает модальное на успех обратного вызова AJAX:Могу ли я отложить показ модального диалога в Bootstrap 3?

//Insert content into modal HTML 
$modalContent.html(json.data); 

//A bit of custom code here... 

//Display modal 
$modal.modal(); 

Я хотел бы улучшить это действие за счет уменьшения воспринимаемого задержки при нажатии на ссылку удаленного модальной, открыв модальный фон с небольшой погрузочной сообщение сразу, а затем в обратном вызове AJAX я открою фактическое модальное окно. Есть ли какой-либо способ достичь этого (в частности, есть ли какой-либо способ программно показать фон модальности, а затем отложить показ модального окна в более позднее время?).

ответ

4

Вы можете сделать что-то вроде так

function getModal(){ 
    $.ajax(...).success(function(){ 
     $modalContent.html(json.data); 
     $modal.modal(); 
    }); 
} 

function showSpinner(){ 
    //show div with spinner 
} 

function showModalOnClick(){ 
    openEmptyModal(); 
    showSpinner(); 
    getModal(); 
} 

$(...).onclick(showModalOnClick); 
+0

Я хотел бы, чтобы запретить пользователю нажимать на любых других удаленных модальностей, а модальный AJAX загружается, поэтому нагрузка DIV будет полной страницы. Я действительно надеялся, что смогу программно управлять соответствующим модным флагом и вставить туда загрузчик или, по крайней мере, заменить стиль модальных фонов, пока он не будет показан, чтобы я мог отображать пользовательский фон и сохранять исходный фон, чтобы человек мог закрыть модальный нажав вне диалогового окна – styke

+0

Вы можете выбрать, где находится счетчик. если вы хотите, чтобы spinner был только в модальном, вы можете сначала открыть пустую модель, а затем показать счетчик, а затем выполнить запрос ajax. – Enermis

+0

Эй, это на самом деле отличная идея! – styke

Смежные вопросы