Javascript > jQuery Mobile

下位ページ

Content

jQuery Mobileとは

「jQuery Mobile」は、モバイルWebアプリケーションやスマートフォンサイトの構築でいまもっとも注目されているフレームワークです。jQuery Mobileを使えば、iPhone/Androidをはじめ、さまざまなスマートフォンのブラウザーに対応したスマートフォンサイトを手軽に制作できます。

jQuery Mobileの実装の流れ

  1. jQuery Mobileの動作に必要なスタイル/ライブラリをインポート
  2. 「ページ」を定義
  3. ヘッダ/コンテンツ/フッタを定義

ライブラリ

本家

jQuery
jQuery Mobile

Google

jQuery
jQuery Mobile
jQuery-UI(操作系)


バージョンは下記を参照
Hosted Libraries - Google Developers

失敗

同じライブラリを2重で読み込んだら、ボタンが2重で表示されたり、正しく動作しなくなったりしました。

ヘッダ情報の意味

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>jQuery Mobile</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css" />
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js">
</script>
</head>

jQuery Mobileのページを作成

<div data-role="page" id="###">
...
</div>

<div data-role="page" id="index"></div>

基本構造

一つのページの中に、ヘッダ、コンテンツ、フッタをつくる。
<div data-role="page">
__<div data-role="header">...</div>
__<div data-role="contents">...</div>
__<div data-role="footer">...</div>
</div>

なんで、わざわざpageをつくるのか。従来のhmtlとの違い:一つのhtmlに複数のページをおける(ようにマークアップできる)
なんで、複数の「ページ」をつくるのか。遷移が早くなるから、など。

  • page id=1
    • header
    • content
    • footer
  • page id=2
    • header
    • content
    • footer

ヘッダ、フッタの固定

<div data-role="footer" data-position="fixed">

要素の追加(や削除)後に、見た目を調整する

DOMを構築した後に、要素を追加すると、jQueryMobile用のclassが適用されておらず、見た目が異なっている場合がある。そのような場合の対処は、正直良くわかっていないが
$(document).page()

$.mobile.page()

リストの場合は、ul要素に対して
$("ul").listview('refresh')
をかけると直るようだ。

開閉可能なパネルをつくる

collapsible-set

<div data-role="collapsible-set">...</div>
タイトルになる部分は<div>内にヘッダ要素で記述しておく

要素を非表示にして対処する

cssで
display:none
を指定する

リンク

data-rel="back" を指定すると、機能が勝手に"戻る"ボタンになる。
href="..." に指定したリンクは、javascriptがOFFの場合に備えて、index.htmlとかに貼っておくと良い。
http://www.webcreativepark.net/jquerymobile/link/data-rel-back/

スマートフォン対応


最終更新:2016年12月25日 11:43