あなたはpageshow
イベントをリッスンし、そのページに固有のロードメッセージを設定することができます。
サンプルコード:
<!DOCTYPE html>
<html>
<head>
<title>jQuery Mobile Sample</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script>
$("#page1").live("pageshow",function(){
$.mobile.loadingMessage = "Loading message for page1";
});
$("#page2").live("pageshow",function(){
$.mobile.loadingMessage = "Loading message for page2";
});
$(".showBtn").live("click",function(){
$.mobile.showPageLoadingMsg();
setTimeout(function(){$.mobile.hidePageLoadingMsg()},2000);
});
</script>
<script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
</head>
<body>
<div data-role="page" id="page1">
<div data-role="header">
<h1>Page1</h1>
</div><!-- /header -->
<div data-role="content">
<a data-role="button" class="showBtn">Show loading message</a>
<a data-role="button" href="#page2">Go to page 2</a>
</div>
</div><!-- /page -->
<div data-role="page" id="page2">
<div data-role="header">
<h1>Page2</h1>
</div><!-- /header -->
<div data-role="content">
<a data-role="button" class="showBtn">Show loading message</a>
<a data-role="button" href="#page1">Go to page 1</a>
</div>
</div>
</body>
</html>
ここでデモ - http://jsfiddle.net/SugTr/
編集からswitch
ステートメントを使用して、すべてのページと目標のために、各ページを単一pageshow
リスナーを使用して別のバージョン - http://jsfiddle.net/SugTr/1/
編集2 - 読み込み中のメッセージが表示されます別のhtmlファイルとして作成されたページをロードしようとしている場合にのみ、jqmフレームワークによって作成されます。data-role="page"
divが1ページ内にある場合、jqmフレームワークにはロードメッセージは表示されません。 $.mobile.showPageLoadingMsg()
を使用してpagebeforeshow
ハンドラに手動で表示し、$.mobile.hidePageLoadingMsg()
を使用してpageshow
ハンドラに非表示にします。ただし、メッセージが画面に表示される時間は無視できるため、目立った変更はありません。
実際にページ読み込みメッセージが表示されている(別のHTMLを読み込んでいる)場合は、ページが読み込まれる直前に$.mobile.loadingMessage
を設定することで、特定の読み込みメッセージを表示できます。
アンカータグは、この
<a data-role="button" id="gotopage2" href="#'>Go to page 2</a>
と、このフォームの対応するスクリプト
$("gotopage2).live("click",function(){
$.mobile.loadingMessage = "Loading message for page1";
$.mobile.changePage("page2.html");
});
ことができますならば、私に教えてくださいようなものにすることができます。
こんにちは、ありがとう!しかし、別のページへのリンクがクリックされたときに表示と非表示を切り替える方法はありますか? –
私は与えたsetTimeoutについてお話していますか?ちょうどそのメッセージが読み込みポップアップで変更されたことを示すためのものです。 – user700284
答えが更新されました。 – user700284