$.mobile.pageLoading( 真偽値 );引数の真偽値は、「ローディングが完了したか」どうかを示すものです。これがfalseだと、データのローディングが完了していないと考え、画面にロード中を示す表示が現れます。trueにすると、ローディングは完了したと考えロード中の表示は消えます。引数を省略した場合はfalseと見なされ、画面にローディング中の表示が現れます。
$.mobile.pageLoading(false);pageLoadingでローディング中の表示をした後、「$.get」というメソッドを呼び出しています。これは、第1引数に指定したURLにAjax通信でアクセスする働きをします。第2引数はnullになっていますが、これは必要な情報を受け渡す場合に連想配列を用意するものです。今回は特に使っていません。そして通信が完了すると、第3引数に指定した関数を呼び出し実行します。
$.get('data.txt',null,callback);
$.mobile.pageLoading(true);これが、通信完了時の処理です。pageLoadingをtrueにして表示を止めてもらい、それから引数として渡されたresultの値を<p id="dlog_content">内に表示します。そして、最後にchangePageでダイアログを呼び出します。
$('#dlog_content').text(result);
$.mobile.changePage("#dialog", "pop", false, true);
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>Sample</title>
<link rel="stylesheet"
href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<script type="text/javascript"
src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript"
src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
<script type="text/javascript">
function doAction(){
$.mobile.pageLoading(false);
$.get('data.txt',null,callback);
}
function callback(result){
$.mobile.pageLoading(true);
$('#dlog_content').text(result);
$.mobile.changePage("#dialog", {transition: "pop"});
}
</script>
</head>
<body>
<div id="home" data-role="page">
<div data-role="header">
<h1>Hello</h1>
</div>
<div data-role="content">
<div>data.txtをロードして表示します。</div>
<input type="button" value="Click" onclick="doAction();" />
</div>
</div>
<div id="dialog" data-role="dialog">
<div data-role="header">
<h1 id="dlog_title">Message</h1>
</div>
<div data-role="content">
<p id="dlog_content">コンテンツ。</p>
</div>
</div>
</body>
</html>
| << 前へ | 次へ >> |