jQuery Mobileでスマホサイト

jQuery Mobileでスマホサイト
スマホサイト作成実践(1)

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>はじめてのjQuery Mobile</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1" />
</head>
<body>
<div data-role="page" id="index">
<div data-role="header">
	<h1>練習</h1>
</div>
<div data-rolor="content">
<ul data-role="listview" data-inset="true">
<li><a href="#book8">menu1</a></li>
<li><a href="#book7">menu2</a></li>
<li><a href="#book6">menu3</a></li>
<li><a href="#book5">menu4</a></li>
<li><a href="#book4">menu5</a></li>
<li><a href="#book3">menu6</a></li>
<li><a href="#book2">menu7</a></li>
<li><a href="#book1">menu8</a></li>
</ul>
</div>
<div data-role="footer">
	<h4>&copy;0206rensyu</h4>
</div>
</div> 	

<div data-role="page" id="book8">
<div data-role="header">
<a href="#index" data-direction="reverse">TOP</a>
	<h1>練習</h1>
</div>
<div data-role="content">
	<h2>jQuery Mobile勉強初日</h2>
    <p>あいうえおかきくけこさしすせ。たちつてとなにぬねのはひふへほ。まみむめもやゆよらりるれろわをん。</p>
    <p><a href="http://giantpanda.jp/modules/myalbum/viewcat.php?num=20&cid=2"><img src="http://giantpanda.jp/uploads/thumbs/436.JPG"></a></p>
</div>
<div data-role="footer">
	<h4>&copy;0206rensyu</h4>
</div>
</div>  
</body>
</html>
【重要】

jQuery Mobileは、HTMLのhead要素で下記を読み込む≫
(1)jQueryスクリプトファイル
(2)jQuery Mobileのスクリプトファイル
(3)jQuery MobileのCSSファイル

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>

Viewportを設定することによりスマートフォン用の解像度(一般的には横幅320px)で表示。全部「1」にすることによりスマホで最適化される

<meta name="viewport" content="width=device-width,
initial-scale=1,minimum-scale=1,maximum-scale=1" />

 
≪data-role属性「page」で指定したdiv要素の内側にページの中身を記述≫

  • data-role「page」には「header」「content」「footer」の3つがあり、これで1まとまり。
    <div data-role="page">〜</div>を1ページとし、1つのHTMLファイルに複数のページを記述する。
  • ヘッダーはdata-role属性「header」、コンテンツはdata-role属性「content」、フッターはdata-role属性「footer」を、指定したdiv要素でそれぞれ作成。
  • ページ移動は「id」属性でアンカーリンクで移動。

スマホサイトはひとつのHTMLで完結する≫

  • CSSや画像等はクラウド上で管理し、絶対パスで表示する(相対パスで表示しない)。
  • PCサイトのように複数のフォルダやファイルで管理しない。

≪リスト設定≫

  • ul要素にdata-role属性「listview」を設定。リストをスマートフォン用に最適化して表示する。
  • data-inset属性「true」はリストの周りに余白を付けて角丸にする設定。
  • data-role属性「list-divider」は見出しとなる。
    例)<li data-role="list-devider">MENU<li>
スマホサイト作成実践(2)

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>練習2</title>
<meta name="viewport" content="width=device-width,initial-scale=1,mimimum-scale=1,maximum-scale=1" />
<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>
</head>
<body>
<div date-role="page">
<div date-role="header">
	<h1>練習2</h1>
</div>
<div date-role="content">
	<p>あいうえおかきくけこ</p>
  <ul data-role="listview" data-inset="true" data-fillter="true">
  <li><a href="#">MENU1</a></li>
  <li><a href="#">MENU2</a></li>
  <li><a href="#">MENU3</a></li>
  <li><a href="#">MENU4</a></li>
  <li><a href="#">MENU5</a></li>
  </ul>
<form>
<label for="slider-0">Input slider:</label>
<input type="range" name="slider" id="slider-0" value="25" min="0" max="100" />
<a href="#" data-role="button" data-icon="star">Star button</a>
<a href="#" data-role="button" data-icon="star" data-theme="a">Button</a>
<a href="#" data-role="button" data-icon="star" data-theme="b">Button</a>
<a href="#" data-role="button" data-icon="star" data-theme="e">Button</a>
<a href="#" data-role="button" data-icon="star" data-theme="c">Button</a>
<a href="#" data-role="button" data-icon="star" data-theme="d">Button</a>
</div>
</div>	    
</body>
</html>