JQuerymobile实例源代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQuerymobile实例源代码相关的知识,希望对你有一定的参考价值。

首页我们先来解释一下下JQuerymobile是什么,jQuery Mobile是JQuery 框架的一个组件(而非jquery的移动版本)。jQuery Mobile是一款基于html5的用户界面系统 是用于创建移动 Web 应用的前端开发框架,可以应用于智能手机与平板电脑,而且使用 HTML5 和 CSS3 最小的脚本来布局网页。

我们先一部分一部分讲解,最后在为大家附上完整代码。

 

1 滑出面板

我们再来解释一下其中一些属性的作用吧。

data-role="panel"属性用来创建面板。
data-display 属性来控制面板的展示方式:
   ① overlay在内容上显示面板
   ② push是同时"推动"面板和页面。
   ③ reveal默认值,将页面像幻灯片一样从屏幕划出,将面板显示出来。

 1 <div data-role="panel" id="revealPanel" data-display="reveal">
 2     <p>已打卡127天</p>
 3     <a href="#"><img src="img/a.PNG">张三</a><br>
 4     <span>☆☆☆☆☆</span><br>
 5     <span>编辑个性签名...</span>
 6         <div class="message">
 7             <ul>
 8                 <li>了解会员特权</li>
 9                 <li>QQ钱包</li>
10                 <li>个性装扮</li>
11                 <li>我的收藏</li>
12                 <li>我的相册</li>
13                 <li>我的文件</li>
14                 <li>免流量特权</li>
15             </ul>
16         </div>
17 </div>

 

2 元素的过滤

   data-position="right"让面板出现在屏幕的右侧
   data-inset="true":列表样式的圆角和边缘。
   元素的 data-autodividers="true" 属性设置可以根据字母顺序排列的列表。
   data-role="listview":列表视图。
   
   你想过滤的元素必须使用 data-filter="true" 属性。
   创建 <input> 元素并指定 id,元素上加上 data-type="search" 属性。这样就能创建基本的搜索字段。
   将 <input> 元素放置于一个表单中,表单 <form> 元素使用 "ui-filterable" 类 - 该类会调整搜索字段与过滤元素的外边距。
   接着为过滤的元素添加 data-input 属性。该值需要是 <input> 元素的 id。

 1 <div data-role="panel" id="overlayPanel" data-display="overlay" data-position="right">
 2                 <h2>我的通讯录</h2>
 3                 <form class="ui-filterable">
 4                     <input id="myFilter" data-type="search" placeholder="根据名称搜索..">
 5                 </form>
 6                 <ul data-role="listview" data-filter="true" data-input="#myFilter" data-autodividers="true" data-inset="true">
 7                     <li>
 8                         <a href="#">张三</a>
 9                     </li>
10                     <li>
11                         <a href="#">李四</a>
12                     </li>
13                     <li>
14                         <a href="#">Albert</a>
15                     </li>
16                     <li>
17                         <a href="#">Billy</a>
18                     </li>
19                     <li>
20                         <a href="#">Bob</a>
21                     </li>
22                     <li>
23                         <a href="#">Calvin</a>
24                     </li>
25                     <li>
26                         <a href="#">Cameron</a>
27                     </li>
28                     <li>
29                         <a href="#">Chloe</a>
30                     </li>
31                     <li>
32                         <a href="#">Christina</a>
33                     </li>
34                     <li>
35                         <a href="#">Diana</a>
36                     </li>
37                     <li>
38                         <a href="#">Gabriel</a>
39                     </li>
40                     <li>
41                         <a href="#">Glen</a>
42                     </li>
43                     <li>
44                         <a href="#">Ralph</a>
45                     </li>
46                     <li>
47                         <a href="#">Valarie</a>
48                     </li>
49                 </ul>
50             </div>

 

3 页面顶部工具条

 data-role="header"  是在页面顶部创建的工具条 (通常用于标题或者搜索按钮)
 data-dismissible   指定面板是否可以通过点击面板外部区域来关闭。有两个参数 true | false 
 data-swipe-close  指定是否可以通过滑动来关闭。有两个参数 true | false 
    
 使用 ui-icon 类将图标添加到按钮上
 ui-btn-b 修改按钮颜色为黑色,字体为白色(默认为灰色背景,黑色字体)。
 ui-corner-all 为按钮添加圆角 
 ui-mini 制作小按钮 
 ui-shadow 为按钮添加阴影
 ui-icon-bars/ui-icon-plus:图标样式
 ui-btn-icon-notext只想显示图标
 默认情况下,所有图标都是白色的。 如果需要改变图标颜色为黑色,可以在元素添加 "ui-alt-icon"

1 <div data-role="header">
2       <a href="#revealPanel" data-swipe-close="true" class="ui-btn ui-corner-all ui-icon-bars ui-btn-icon-notext"></a>
3       <a href="#" class="ui-btn ui-btn-right ui-shadow ui-corner-all ui-icon-plus ui-btn-icon-notext"></a>
5       <p align="center">消息</p>
6  </div>

 

4 页面内容

 data-role="main" 定义了页面的内容,比如文本, 图片,表单,按钮等。
 "ui-content" 类用于在页面添加内边距和外边距。
 列表视图就是在在ul或ol标签中添加data-role="listview"属性。
 列表样式的圆角和边缘,使用 data-inset="true" 属性设置

 1 <div data-role="main" class="ui-content">
 2                 
 3          <a href="#overlayPanel" class="ui-btn">搜索</a>
 4                 
 5           <ul data-role="listview" data-inset="true">
 6                 <li>
 7                    <a href="#pagetwo" data-transition="slide" data-direction="reverse"><img src="img/a.PNG">张三(点击跳转页面)</a>
 8                  </li>
 9                   <li>
10                      <a href="#"><img src="img/b.PNG">李四</a>
11                   </li>
12                   <li>
13                      <a href="#"><img src="img/c.PNG">王二</a>
14                   </li>
15                   <li id="listview1">
16                      <a href="#"><img src="img/a.PNG">张五(向左滑动切换页面)</a>
17                   </li>
18           </ul>
19 </div>

 

5 页面底部工具条

 data-role="footer" 用于创建页面底部工具条。
 使用 data-role="navbar" 属性来定义导航栏
 使用 data-icon 属性在导航按钮上添加图标

 1 <div id="footer" data-role="footer" data-position="fixed">
 2             <div data-role="navbar">
 3                  <ul>
 4                     <li>
 5                         <a href="#" data-icon="comment">消息</a>
 6                     </li>
 7                     <li>
 8                        <a href="user.html" data-icon="user">联系人</a>
 9                     </li>
10                     <li>
11                       <a href="#" data-icon="star">动态</a>
12                     </li>
13                   </ul>
14             </div>
15    </div>

 

6 点击需要跳转的页面(子页)

 data-fullscreen="true/false"规定工具栏是否一直固定在顶部或底部
 data-tap-toggle= true | false 规定用户是否能够通过点击改变工具栏的可见性
 如需创建一个可折叠的内容块,需要为容器添加 data-role="collapsible" 属性。
 默认情况下,内容是被折叠起来的。如需在页面加载时展开内容,请使用 data-collapsed="false"
 data-role="collapsibleset"当一个新的块被展开时,所有其他的块都会被折叠起来。
 data-mini= true | false 规定按钮是小尺寸还是常规尺寸
 data-collapsed-icon="carat-r":定义折叠面板的图标。

 1 <div data-role="page" id="pagetwo" data-theme="b">
 2              <div data-role="header" data-position="fixed" data-fullscreen="true" >
 3                 <h1>欢迎来到我的主页</h1>
 4              </div>
 5           <div data-role="main" class="ui-content" >
 6             <a href="#pageone" data-transition="slide" data-direction="reverse">点击跳转页面(淡入第一个页面)</a>
 7           
 8            <div data-role="collapsibleset">
 9               <div data-role="collapsible" data-collapsed-icon="carat-r" data-mini="true">
10                       <h1>特别关心</h1>
11                      <ul data-role="listview">
12                       <li><a href="#">张三</a></li>
13                       <li><a href="#">李四</a></li>
14                       <li><a href="#">王二</a></li>
15                     </ul>
16                 </div>
17                 <div data-role="collapsible" data-collapsed-icon="carat-r" data-mini="true">
18                       <h1>分组一</h1>
19                      <ul data-role="listview">
20                       <li><a href="#">张三</a></li>
21                       <li><a href="#">李四</a></li>
22                       <li><a href="#">王二</a></li>
23                     </ul>
24                 </div>
25                 <div data-role="collapsible" data-collapsed-icon="carat-r" data-mini="true">
26                       <h1>分组二</h1>
27                      <ul data-role="listview">
28                       <li><a href="#">张三</a></li>
29                       <li><a href="#">李四</a></li>
30                       <li><a href="#">王二</a></li>
31                     </ul>
32                 </div>
33             </div>
34         </div>
35               
36           <div data-role="footer" data-position="fixed" data-fullscreen="true">
37             <h1>底部文本</h1>
38           </div>
39         </div> 

 

7 滑动需要跳转的页面(子页)

 

 1 <div data-role="page" id="class-page">  
 2   
 3        <div data-role="content">  
 4             <ul data-role="listview" id="listview2">  
 5                     <li>向右滑动切换页面</li>  
 6                     <li>向右滑动切换页面</li>  
 7                     <li>向右滑动切换页面</li>  
 8              </ul>  
 9         </div>  
10   
11  </div>

 滑动页面的JS代码:

 使用$.mobile.changePage()来切换页面
 swipeleft:向左滑动事件在用户向左拖动元素大于30px时触发
 reverse:布尔类型,默认false。设定页面转场动画的方向,设置为true时将导致反方向的转场。

 1 $(function() {
 2   
 3         $("#listview1").bind("swipeleft", function() {  
 4   
 5             $.mobile.changePage("#class-page");  
 6   
 7         });  
 8   
 9         $("#listview2").bind("swiperight", function() {  
10   
11             $.mobile.changePage("#pageone", {  
12                 transition : "flip",  
13                 reverse : true  
14             }, true, true);  
15   
16         });  
17   
18 }); 

 

8 完整实例代码

 技术分享

 

  1 <!DOCTYPE html>
  2 <html>
  3 
  4     <head>
  5         <meta charset="utf-8" />
  6         <title></title>
  7         <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  8         <link rel="stylesheet" href="css/jquery.mobile-1.4.5.css" />
  9         <!--<link rel="stylesheet" href="css/jquery.mobile.icons-1.4.5.css" />-->
 10         <!--<link rel="stylesheet" href="css/jquery.mobile.theme-1.4.5.css" />-->
 11         <link rel="stylesheet" href="css/index.css" />
 12         <script type="text/javascript" src="js/jquery.js"></script>
 13         <script type="text/javascript" src="js/jquery.mobile-1.4.5.js"></script>
 14         <script type="text/javascript" src="js/index.js"></script>
 15     </head>
 16 
 17     <body>
 18         <div data-role="page" id="pageone" data-transition="slide" data-direction="reverse">
 29             
 30             <div data-role="panel" id="revealPanel" data-display="reveal">
 31                 <p>已打卡127天</p>
 32                 <a href="#"><img src="img/a.PNG">张三</a><br>
 33                 <span>☆☆☆☆☆</span><br>
 34                 <span>编辑个性签名...</span>
 35                 <div class="message">
 36                     <ul>
 37                         <li>了解会员特权</li>
 38                         <li>QQ钱包</li>
 39                         <li>个性装扮</li>
 40                         <li>我的收藏</li>
 41                         <li>我的相册</li>
 42                         <li>我的文件</li>
 43                         <li>免流量特权</li>
 44                     </ul>
 45                 </div>
 46             </div>
 47 
 61             <div data-role="panel" id="overlayPanel" data-display="overlay" data-position="right">
 62                 <h2>我的通讯录</h2>
 63                 <form class="ui-filterable">
 64                     <input id="myFilter" data-type="search" placeholder="根据名称搜索..">
 65                 </form>
 66                 <ul data-role="listview" data-filter="true" data-input="#myFilter" data-autodividers="true" data-inset="true">
 67                     <li>
 68                         <a href="#">张三</a>
 69                     </li>
 70                     <li>
 71                         <a href="#">李四</a>
 72                     </li>
 73                     <li>
 74                         <a href="#">Albert</a>
 75                     </li>
 76                     <li>
 77                         <a href="#">Billy</a>
 78                     </li>
 79                     <li>
 80                         <a href="#">Bob</a>
 81                     </li>
 82                     <li>
 83                         <a href="#">Calvin</a>
 84                     </li>
 85                     <li>
 86                         <a href="#">Cameron</a>
 87                     </li>
 88                     <li>
 89                         <a href="#">Chloe</a>
 90                     </li>
 91                     <li>
 92                         <a href="#">Christina</a>
 93                     </li>
 94                     <li>
 95                         <a href="#">Diana</a>
 96                     </li>
 97                     <li>
 98                         <a href="#">Gabriel</a>
 99                     </li>
100                     <li>
101                         <a href="#">Glen</a>
102                     </li>
103                     <li>
104                         <a href="#">Ralph</a>
105                     </li>
106                     <li>
107                         <a href="#">Valarie</a>
108                     </li>
109                 </ul>
110             </div>
111             
112            <div data-role="header">
135                  <a href="#revealPanel" data-swipe-close="true" class="ui-btn ui-corner-all ui-icon-bars ui-btn-icon-notext"></a>  
137                  <a href="#" class="ui-btn ui-btn-right ui-shadow ui-corner-all ui-icon-plus ui-btn-icon-notext"></a>
138                 <p align="center">消息</p>
139            </div>

14 <div data-role="main" class="ui-content"> 148 149 <a href="#overlayPanel" class="ui-btn">搜索</a> 150 151 <ul data-role="listview" data-inset="true"> 152 <li> 153 <a href="#pagetwo" data-transition="slide" data-direction="reverse"><img src="img/a.PNG">张三(点击跳转页面)</a> 154 </li> 155 <li> 156 <a href="#"><img src="img/b.PNG">李四</a> 157 </li> 158 <li> 159 <a href="#"><img src="img/c.PNG">王二</a> 160 </li> 161 <li id="listview1"> 162 <a href="#"><img src="img/a.PNG">张五(向左滑动切换页面)</a> 163 </li> 164 </ul> 165 </div>

166 <div id="footer" data-role="footer" data-position="fixed"> 173 <div data-role="navbar"> 174 <ul> 175 <li> 176 <a href="#" data-icon="comment" onclick="goTo(‘content.html‘)">消息</a> 177 </li> 178 <li> 179 <a href="user.html" data-icon="user" onclick="goTo(‘content1.html‘)">联系人</a> 180 </li> 181 <li> 182 <a href="#" data-icon="star" onclick="goTo(‘user.html‘)">动态</a> 183 </li> 184 </ul> 185 </div> 186 </div> 187 </div> 188 199 <div data-role="page" id="pagetwo" data-theme="b"> 200 <div data-role="header" data-position="fixed" data-fullscreen="true" > 201 <h1>欢迎来到我的主页</h1> 202 </div> 203 <div data-role="main" class="ui-content" > 204 <a href="#pageone" data-transition="slide" data-direction="reverse">点击跳转页面(淡入第一个页面)</a> 205 206 <div data-role="collapsibleset"> 207 <div data-role="collapsible" data-collapsed-icon="carat-r" data-mini="true"> 208 <h1>特别关心</h1> 209 <ul data-role="listview"> 210 <li><a href="#">张三</a></li> 211 <li><a href="#">李四</a></li> 212 <li><a href="#">王二</a></li> 213 </ul> 214 </div> 215 <div data-role="collapsible" data-collapsed-icon="carat-r" data-mini="true"> 216 <h1>分组一</h1> 217 <ul data-role="listview"> 218 <li><a href="#">张三</a></li> 219 <li><a href="#">李四</a></li> 220 <li><a href="#">王二</a></li> 221 </ul> 222 </div> 223 <div data-role="collapsible" data-collapsed-icon="carat-r" data-mini="true"> 224 <h1>分组二</h1> 225 <ul data-role="listview"> 226 <li><a href="#">张三</a></li> 227 <li><a href="#">李四</a></li> 228 <li><a href="#">王二</a></li> 229 </ul> 230 </div> 231 </div> 232 </div> 233 234 <div data-role="footer" data-position="fixed" data-fullscreen="true"> 235 <h1>底部文本</h1> 236 </div> 237 </div> 238 239 240 <div data-role="page" id="class-page"> 241 242 <div data-role="content"> 243 <ul data-role="listview" id="listview2"> 244 <li>向右滑动切换页面</li> 245 <li>向右滑动切换页面</li> 246 <li>向右滑动切换页面</li> 247 </ul> 248 </div> 249 250 </div> 251 </body> 252 253 </html>

 JS代码:

 1 $(function() {
 2   
 3         $("#listview1").bind("swipeleft", function() {  
 4   
 5             $.mobile.changePage("#class-page");  
 6   
 7         });  
 8   
 9         $("#listview2").bind("swiperight", function() {  
10   
11             $.mobile.changePage("#pageone", {  
12                 transition : "flip",  
13                 reverse : true  
14             }, true, true);  
15   
16         });  
17   
18 });  

 

编者按

JQuerymobile还有好多其他的属性和功能,大家可以多多参考一下其他资料,进一步熟悉JQuerymobile。最后,希望大家与小编一起共同努力,在前端路上越走越远!

以上是关于JQuerymobile实例源代码的主要内容,如果未能解决你的问题,请参考以下文章

web前端开发JQuery常用实例代码片段(50个)

如何为 XSLT 代码片段配置 CruiseControl 的 C# 版本?

片段事务中的实例化错误

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

创建片段的新实例时菜单未膨胀