牧者

大风起兮云飞扬

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

7 、jQuery Mobile

(1)引入 
Html代码   
<!DOCTYPE html>

<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />

<link rel="stylesheet" type="text/css" href="lib/jquery.mobile/jquery.mobile-1.4.1.min.css" />
<script type="text/javascript" src="lib/jquery/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="lib/jquery.mobile/jquery.mobile-1.4.1.min.js"></script>

  


(2)基本构造 
单页面 
<div data-role="page">   
  <div data-role="header">...</div>   
  <div role="main" class="ui-content">...</div>   
  <div data-role="footer">...</div>   
</div>  

  


***1.4之前主体部分使用「data-role="content"」 

多页面 
<div data-role="page" id="first">
  <div data-role="header">...</div> 
  <div role="main" class="ui-content">...</div> 
  <div data-role="footer">...</div> 
</div>
<div data-role="page" id="second"> 
  <div data-role="header">...</div> 
  <div role="main" class="ui-content">...</div> 
  <div data-role="footer">...</div> 
</div>

  


 

在早期版本中为了提高页面跳转的效率,在一个文件中定义多个页面,通过「href="#ID名"」页面跳转。默认显示文件中定义的第一个page,如果要自定义初期显示其他page的话 

     document.location.hash = "#second";  


但是这样也就加重了HTML的load速度,所以现在基本都是1个文件1个页面。 

(3)主题Theme 
除过一些特殊的Widget(比如ListView)需要特殊设置外,大部分Widget都可以通过data-theme来修改主题。1.4之前提供a、b、c、d、e五种主题,从1.4开始做了简化。官方还提供了自定义主题的ThemeRoller for jQuery Mobile:http://themeroller.jquerymobile.com/ 

(4)Header/Footer 
首先Header和Footer都不是必须元素,在需要的是时候添加即可。 

Header 
只有标题 
Html代码  
<div data-role="header">  
    <h1>Title</h1>  

</div>  

 

1.4之前按钮是先左后右放置,跟代码写在什么地方没有关系。现在的版本希望class属性明确指定位置。 

左右按钮 
<div data-role="header" data-theme="b">
  <a href="#" class="ui-btn ui-btn-a ui-btn-left">Left</a>
  <h1>Title</h1>
  <a href="#" class="ui-btn ui-btn-a ui-btn-right">Right</a>
</div>

 



回退按钮 
 
<div data-role="header" data-add-back-btn="true" data-back-btn-text="Back">
    <h1>jQuery Mobile TIPS</h1>
    <a href="help.htmll" class="ui-btn ui-btn-a ui-btn-right">About</a>
</div>

 

1.4之前回退按钮需要通过<a>元素来实现。 

全局回退按钮有效设置: 
Js代码   
$(document).on('mobileinit', function() {
  $.mobile.toolbar.prototype.options.addBackBtn = true;
  $.mobile.toolbar.prototype.options.backBtnText = 'Back';
});

data-position="fixed" 固定位置 

data-fullscreen="true" 页面Tap的时候隐藏 
data-id属性 页面跳转的时候只会滑动content部分 

(5)链接Link 
 
<a href="http://www.wings.msn.to/" class="ui-btn">...</a>
<a href="basic.html" target="_blank" class="ui-btn">...</a>
<a href="basic.html" rel="external" class="ui-btn">...</a>
<a href="basic.html" data-ajax="false" class="ui-btn">...</a>

  

同一Domain下,link默认使用ajax加载。 

data-transition="slide" 跳转动画 

默认跳转动画 
Js代码  收藏代码
  1. $(document).bind("mobileinit", function(){   
  2.    $.mobile.defaultTransition = "slidedown";  
  3. })  


(6)按钮Button 
显示一个按钮,有<button>、<a>、<input>三种方式。 

对于<button>和<a> 
Html代码  收藏代码
  1. <button class="ui-btn">...</button>  
  2. <href="#" class="ui-btn">...</a>  


1.4以前使用「data-role="button"」 

ui-btn-inline 紧凑 
ui-corner-all 圆角 
ui-shadow 阴影 
ui-btn-* 变更主题 
ui-mini 最小化 

对于<input> 
<input type="button" value="..." /> 
<input>稍微不同,需要通过data-xxxxx属性来设置样式。 
data-inline、data-corners、data-shadow、data-theme、data-mini 

按钮组 
Html代码  收藏代码
  1. <div data-role="controlgroup">  
  2.   <button class="ui-btn">...</button>  
  3.   <href="index.html" class="ui-btn">...</a>  
  4.   <input type="button" value="..." />  
  5. </div>  


水平放置按钮 
Html代码  收藏代码
  1. <div data-role="controlgroup" data-type="horizontal">...</div>  


(7)导航Navbar 

Html代码  收藏代码
  1. <div data-role="navbar">  
  2. <ul>  
  3.   <li><href="#" data-icon="grid">Summary</a></li>  
  4.   <li><href="#" data-icon="star" class="ui-btn-active">Favs</a></li>  
  5.   <li><href="#" data-icon="gear">Setup</a></li>  
  6. </ul>  
  7. </div>  


(8)列表Listview 

一般 
Html代码  收藏代码
  1. <ul data-role="listview">  
  2.     <li><href="#">Acura</a></li>  
  3.     <li><href="#">Audi</a></li>  
  4.     <li><href="#">BMW</a></li>  
  5.     <li><href="#">Cadillac</a></li>  
  6.     <li><href="#">Ferrari</a></li>  
  7. </ul>  


分组 
Html代码  收藏代码
  1. <ul data-role="listview" data-inset="true">  
  2.     <li data-role="list-divider">Mail</li>  
  3.     <li><href="#">Inbox</a></li>  
  4.     <li><href="#">Outbox</a></li>  
  5.     <li data-role="list-divider">Contacts</li>  
  6.     <li><href="#">Friends</a></li>  
  7.     <li><href="#">Work</a></li>  
  8. </ul>  


(9)左右滑动菜单Panel 
Html代码  收藏代码
  1. <div data-role="page">  
  2.     <div data-role="header" data-position="fixed">  
  3.         <h1>Fixed header</h1>  
  4.         <href="#nav-panel" data-icon="bars" data-iconpos="notext">Menu</a>  
  5.         <href="#add-form" data-icon="gear" data-iconpos="notext">Add</a>  
  6.     </div>  
  7.     <div role="main" class="ui-content jqm-content jqm-fullwidth">  
  8.        //......  
  9.     </div>  
  10.     <div data-role="footer" data-position="fixed">  
  11.         <h4>Fixed footer</h4>  
  12.     </div>  
  13.     <div data-role="panel" data-position-fixed="true" data-display="push" id="nav-panel">  
  14.         //......  
  15.     </div>  
  16.     <div data-role="panel" data-position="right" data-position-fixed="true" data-display="overlay" id="add-form">  
  17.        //......  
  18.     </div>  
  19. </div>  
 
 
posted on 2017-03-21 17:15  牧者.D  阅读(142)  评论(0)    收藏  举报