jQuery Mobile - загрузка страницы и работа с сообщениями о прогрессе - PullRequest
1 голос
/ 09 сентября 2011

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

Вот моя тестовая веб-страница (это простое тестовое приложение для ипотечного калькулятора):

[http://www.simdock.com/TestJQueryMobile-loadmsg-progress.htm]

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

При переходе от страницы калькулятора главного меню к первой или второй странице должна быть какая-то загрузка страницыMSG, но, увы, все, что я могу получить на работу, - это сообщение MSG с предупреждением о событии.

Я пробовал несколько способов получить сообщение о загрузке страницы:

Первый способ был предложен в следующей ссылке на стек-поток:

[http://stackoverflow.com/questions/6085679/jquery-mobile-pageloading-method-how-does-it-work][1]

Фрагмент сценария, который поднимает мою страницу один, выглядит следующим образом (который я пытался подражать из других публикаций на эту тему):


<script type="text/javascript"> 
$('#one').live('pagebeforeshow',function(event, ui){
//PAGE ID "one" SELECTED EVENT
alert('Just selected page one!');
$.mobile.pageLoading(); 
$.mobile.loadingMessage = "calculating payment schedule...";
$.mobile.showPageLoadingMsg();
calcMonthlySchedule();
$.mobile.hidePageLoadingMsg();
});
</script>

Вышеописанное просто не работает, однако ... предупреждение срабатывает, но больше ничего не происходит, и нет сообщений об ошибках и т. Д. *

Другой способ, который я пробовал, был из книги Джонатана Старкса., Создание приложений для Android с использованием HTML, CCS и JavaScript (хорошая книга! ... но немного дорогая).


 <script type="text/javascript">
 $('#two').live('pagebeforeshow',function(event){
  //PAGE ID "two" SELECTED EVENT
  alert('Just selected page two!');
  $('body').append('<div id="progress">Loading...</div>');
  calcLongList();
  $('#progress').remove();
  });
 </script>

Вышеприведенное также, похоже, ничего не дает (кромезапустить оповещение msg), так как раздел div не появляется (как в примере с книгой).

Оооочень ... в любом случае, я не должен думать / делать что-то или другое ...но не уверен, что ... любая помощь обязательно будет оценена.

заранее спасибо

1 Ответ

1 голос
/ 09 сентября 2011

Я использую $.mobile.pageLoading();, чтобы показать графику загрузки, и $.mobile.pageLoading(true);, чтобы остановить ее.

Для сообщений есть метод $. Mobile.showPageLoadingMsg () .

Я создал образец, чтобы доказать, что он работает.Только для вас, Вуди: http://jsfiddle.net/a6337/

Этот метод не работает с событием pagecreate, но работает с pageshow:

$('#mypageone').live('pageshow',function(event){
  $.mobile.loadingMessage = "calculating payment schedule..."; 
  $.mobile.pageLoading(); 
  $.mobile.showPageLoadingMsg();
  calcLongList();
  //$.mobile.hidePageLoadingMsg();
});

Попробуйте: http://jsfiddle.net/7fxQf/21/

...