2013-11-19 2 views
0

Мои проблемы в том, что когда страница загружается, индикатор выполнения (или панель загрузки) останавливается до тех пор, пока все данные (с сервера) анализируется, и все элементы пользовательского интерфейса отображаются. Я пытался поставить расположение кода по-разному, который инициализирует индикатор, например, в pageshow(), pagecreate(),jQuery mobile - индикатор выполнения (загрузочная панель) не работает (остановлен) до тех пор, пока не будут отображены все элементы

$("#dataHome").on('pagecreate', function() {  

    $.mobile.showPageLoadingMsg(); // jQM loading bar widget 
    ... 
} 

и даже $ (окно) .load (функция) {...}

<script type="text/javascript"> 
    $(window).load(function() { 
     var html = "<img src='css/images/ajax-loader.gif' />"; 
     $('#loader').append(html); 
    }); 
</script> 

Но оба способа не работают для меня. Загрузочная панель не двигалась, когда она начала вращаться после отображения всех элементов пользовательского интерфейса.

Есть ли какой-либо способ заставить рабочий стол работать, пока данные разобраны и перед загрузкой всех элементов?

Извините, что не поставил свой код .. Это слишком уродливо и сложно сделать его коротким.

ответ

0
 var ajax_call = serviceURL; 

     $.ajax({ 
      type: "GET", 
      url: ajax_call, 
      async: false, 
      dataType: "json", 
      beforeSend: function(xhr) { 
       $.mobile.loadingMessageTextVisible = true; 
       $.mobile.showPageLoadingMsg("a", LOADING_MSG , false); 
      }, 
      success: function(response){ 

      } 
     }).done(function(data) { 
      $.mobile.hidePageLoadingMsg();    
     }); 
Смежные вопросы