$.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>
<< 前へ | 次へ >> |