リストの表示
リストの表示
一般的なリスト data-role属性「listview」
<body> <div data-role="page" id="index"> <div data-role="header"><h1>ヘッダー</h1></div> <div data-role="content"> <ul data-role="listview"> <li>list</li> <li>list</li> <li>list</li> <li>list</li> <li>list</li> </ul> </div> <div data-role="footer"><h4>フッター</h4></div> </div> </body>
- リスト内の項目がa要素で包まれている場合は、右端に矢印が付いたリンクリストとして表示されます
<body> <div data-role="page" id="index"> <div data-role="header"><h1>ヘッダー</h1></div> <div data-role="content"> <ul data-role="listview"> <li><a href="#page2">list</a></li> <li><a href="#page2">list</a></li> <li><a href="#page2">list</a></li> <li><a href="#page2">list</a></li> <li><a href="#page2">list</a></li> </ul> </div> <div data-role="footer"><h4>フッター</h4></div> </div> </body>
- 入れ子状態のリストでは、最初にメイン(親)のリストが表示され、リストをタップするとページが遷移して子リストが表示されます
<body> <div data-role="page" id="index"> <div data-role="header"><h1>ヘッダー</h1></div> <div data-role="content"> <ul data-role="listview"> <li>list <ul> <li><a href="#page2">list2</a></li> <li><a href="#page2">list2</a></li> <li><a href="#page2">list2</a></li> </ul> </li> <li>list</li> <li>list</li> <li>list</li> <li>list</li> </u> </div> <div data-role="footer"><h4>フッター</h4></div> </div> </body>
ここまでをまとめると、
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <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 src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.js"></script> </head> <body> <div data-role="page" id="index"> <div data-role="header"><h1>ヘッダー</h1></div> <div data-role="content"> <ul data-role="listview"> <li>list <ul> <li><a href="#page2">list2</a></li> <li><a href="#page2">list2</a></li> <li><a href="#page2">list2</a></li> </ul> </li> <li>list</li> <li>list</li> <li>list</li> <li>list</li> </ul> </div> <div data-role="footer"><h4>フッター</h4></div> </div> <div data-role="page" id="page2"> <div data-role="header"><h1>ページ2</h1></div> <div data-role="content">コンテンツ2</div> <div data-role="footer"><h4>フッター2</h4></div> </div> </body> </html>
分割リスト
- li内に2つのリンクを記述すると、1つのリスト項目に2つのリンクを設定できる分割リストも作成できます
<ul data-role="listview"> <li><a href="#page2">list</a><a href="#page2">detail</a></li> <li><a href="#page2">list</a><a href="#page2">detail</a></li> <li><a href="#page2">list</a><a href="#page2">detail</a></li> <li><a href="#page2">list</a><a href="#page2">detail</a></li> <li><a href="#page2">list</a><a href="#page2">detail</a></li> </ul>
- 分割リストでは、2番目のリンクはリンクアイコンだけが表示されます
分割リストのアイコンを設定 data-split-icon属性
- 分割リストで表示するアイコンは、data-split-icon属性で変更できます
- たとえば、「gear」を設定すると歯車のようなアイコンになります
<ul data-role="listview" data-split-icon="gear">
分割リストのテーマを設定 data-split-them属性
- 分割リストではdata-split-them属性を利用してテーマを適用できます
- 分割リストのリンクアイコンは、デフォルトではテーマ「b」が適用されていますが、data-split-themeでページのデザインに合ったテーマを適用できます
<ul data-role="listview" data-split-theme="a">
角丸のリスト data-inset属性「true」
- ul/ol要素に対してdata-inset属性「true」を付けると、角丸の立体的なリストにできます
<ul data-role="listview" data-inset="true">
説明付きのリスト
<ul data-role="listview"> <li><a href="#page2"><h1>見出し</h1><p>説明の内容</p></a></li> <li><a href="#page2"><h1>見出し</h1><p>説明の内容</p></a></li> <li><a href="#page2"><h1>見出し</h1><p>説明の内容</p></a></li> <li><a href="#page2"><h1>見出し</h1><p>説明の内容</p></a></li> </ul>
class属性「ui-li-aside」を設定した要素を記述すると、リスト項目の右上に補足的な情報も表示できます。
<ul data-role="listview"> <li><a href="#page2"><p class="ui-li-aside">2012年2月11日</p><h1>見出し</h1><p>説明の内容</p></a></li> <li><a href="#page2"><p class="ui-li-aside">2012年2月11日</p><h1>見出し</h1><p>説明の内容</p></a></li> <li><a href="#page2"><p class="ui-li-aside">2012年2月11日</p><h1>見出し</h1><p>説明の内容</p></a></li> <li><a href="#page2"><p class="ui-li-aside">2012年2月11日</p><h1>見出し</h1><p>説明の内容</p></a></li> </ul>
リストに見出しを設定 data-role属性「list-divider」
- リスト内のli要素にdata-role属性「list-divider」を追加すると、その項目は見出し項目として扱われます
<ul data-role="listview"> <li data-role="list-divider">見出し</li> <li><a href="#page2">list</a></li> <li><a href="#page2">list</a></li> <li data-role="list-divider">見出し</li> <li><a href="#page2">list</a></li> <li><a href="#page2">list</a></li> </ul>
見出しのテーマを変更する data-dividertheme属性
- ul要素やol要素に対してdata-dividertheme属性を設定すると、見出しのテーマを変更できます。デフォルトでは「b」のテーマが適用されています
<ul data-role="listview" data-dividertheme="a"> <li data-role="list-divider">見出し</li> <li><a href="#page2">list</a></li> <li><a href="#page2">list</a></li> <li data-role="list-divider">見出し</li> <li><a href="#page2">list</a></li> <li><a href="#page2">list</a></li> </ul>
カウントバブルの追加 class属性「ui-li-count」
- リスト内に数値を記述し、class属性「ui-li-count」を付けた要素で包むと、リスト項目の右側にカウントバブルが表示されます
- Webサイトの新着情報の件数を表示する場合などに利用できます
<ul data-role="listview"> <li><a href="#page2">list<span class="ui-li-count">10</span></a></li> <li><a href="#page2">list<span class="ui-li-count">10</span></a></li> <li><a href="#page2">list<span class="ui-li-count">10</span></a></li> <li><a href="#page2">list<span class="ui-li-count">10</span></a></li> <li><a href="#page2">list<span class="ui-li-count">10</span></a></li> </ul>
カウントバブルのテーマの変更 data-count-theme属性
- カウントバブルのデザインテーマは、data-count-theme属性で変更できます
<ul data-role="listview" data-count-theme="a"> <li><a href="#page2">list<span class="ui-li-count">10</span></a></li> <li><a href="#page2">list<span class="ui-li-count">10</span></a></li> <li><a href="#page2">list<span class="ui-li-count">10</span></a></li> <li><a href="#page2">list<span class="ui-li-count">10</span></a></li> <li><a href="#page2">list<span class="ui-li-count">10</span></a></li> </ul>
画像付きのリスト
- 各リスト項目内のimg要素を記述すると、左側に画像が表示される画像付きリストを利用できます
- img要素で指定した画像は80×80pxに自動的にリサイズされます
<ul data-role="listview"> <li><a href="#page2"><img src="thumbnail1.jpg">list</a></li> <li><a href="#page2"><img src="thumbnail2.jpg">list</a></li> <li><a href="#page2"><img src="thumbnail3.jpg">list</a></li> <li><a href="#page2"><img src="thumbnail4.jpg">list</a></li> <li><a href="#page2"><img src="thumbnail5.jpg">list</a></li> </ul>
- より小さな画像をアイコンのようにして表示したい場合は、class属性「ui-li-icon」を使います
- 画像が16×16pxで表示されます
<ul data-role="listview"> <li><a href="#page2"><img src="thumbnail1.jpg" class="ui-li-icon">list</a></li> <li><a href="#page2"><img src="thumbnail2.jpg" class="ui-li-icon">list</a></li> <li><a href="#page2"><img src="thumbnail3.jpg" class="ui-li-icon">list</a></li> <li><a href="#page2"><img src="thumbnail4.jpg" class="ui-li-icon">list</a></li> <li><a href="#page2"><img src="thumbnail5.jpg" class="ui-li-icon">list</a></li> </ul>