jQuery Mobile与QUI框架的异曲同工之处
最近一直在研究jQuery Mobile框架,这是jQuery的官方移动版UI框架,专门用来开发手机与平板电脑方面的应用。结果越来越觉得它和我的QUI框架的开发思路非常相似,很多地方都有异曲同工之妙。jQuery Mobile框架倡导wire less ,do more,QUI框架中我花了很多心思让开发更加便捷,发现和jQuery Mobile框架用的手段非常相似,看来真的是英雄所见略同呢。
下面我来举几个例子:
1、默认对传统标签进行增强式渲染,实现组件的美化目的
在jQuery Mobile中,页面初始化时引擎会自动将传统标签渲染成适合触摸的外观。例如按钮标签:
<input type="button" value="Button" />
渲染后的效果如下:
文本框标签:
<input type="text" name="name" id="name" value="" />
渲染后的效果如下:
在QUI中,页面初始化时引擎会自动将传统标签渲染具有美化的外观样式,效果如下:
如果不想让引擎渲染传统标签,在jQuery Mobile中,为标签添加data-role="none";在QUI中,为标签添加keepDefaultStyle="true"
2、对其他html标签添加特殊标记来创建扩展的组件
在jQuery Mobile中,为标签添加data-role=xxx,这样在页面初始化时会将这些标签渲染成相应的组件。例如为链接添加data-role="button",如下:
<a href="index.html" data-role="button">Link button</a>
则会渲染为一个按钮:
为div添加data-role="header",如下:
<div data-role="header">
<h1>Page Title</h1>
</div>
则会渲染为一个标题栏:
在QUI中,为标签添加class=xxx来实现扩展组件的渲染。例如为div添加class="selectTree",如下:
<div class="selectTree" url="xxx"></div>
其中,url用于返回JSON数据,这样就创建了一个属性下拉框:
为input标签添加class="keypad",如下:
<input class="keypad" type="text"/>
这样就创建了一个数字选择器:
3、为标签添加自定义属性来扩展组件功能
jQuery Mobile和QUI框架都可以为标签添加自定义的属性。例如在jQuery Mobile中,为input标签添加placeholder属性实现水印:
<input type="text" name="username" id="username" value="" placeholder="Username"/>
效果如下:
为a标签添加data-inline="true"实现按钮尺寸自定义文字,添加data-mini="true"让按钮的样式为小型按钮:
<a href="index.html" data-role="button" data-inline="true" data-mini="true">Cancel</a>
效果如下:
在QUI框架中,为input标签添加watermark属性来实现水印:
<input type="text" watermark="输入字母或数字"/>
效果如下:
为select标签添加colNum="3"可实现将选项分为3列显示,效果如下:
4、拥有图标库,可以与其他组件结合使用
在jQuery Mobile中,通过设置data-icon可以为很多组件添加图标,例如为按钮添加图标:
<a href="index.html" data-role="button" data-icon="delete" data-inline="true">Cancel</a>
效果如下:
在QUI中,也同样拥有图标库,可以为很多组件添加图标。例如为按钮添加图标代码:
<button type="button"><span class="icon_save">保存</span></button>
<button type="button"><span class="icon_delete">删除</span></button>
<button type="button"><span class="icon_find">查询</span></button>
效果如下:
5、组件支持动态创建
jQuery Mobile和QUI中的组件除了可以使用标签创建外,还支持动态创建dom节点的方式创建组件。
jQuery Mobile中动态创建组件的方式如下:
动态创建dom节点,并添加到页面中,最后调用create方法进行渲染。
代码形式如下:
$( 组件dom标签 ).appendTo( ".ui-page" ).trigger( "create" );
QUI中动态创建组件的方式如下:
动态创建dom节点,并添加到页面中,最后调用render方法进行渲染。
代码形式如下:
$( 组件dom标签 ).appendTo( "body" ).render();
6、组件支持动态修改
jQuery Mobile和QUI中的组件要动态修改时,通过动态调整组件的属性,然后调用刷新方法进行刷新。例如
jQuery Mobile中动态选中多选按钮代码如下:
$("input[type='checkbox']").prop("checked",true).checkboxradio("refresh");
jQuery Mobile中动态选中下拉框某项的代码如下:
var myselect = $("#selectfoo");
myselect[0].selectedIndex = 3;
myselect.selectmenu("refresh");
QUI中动态选中下拉框某项的代码如下:
$("#sel-1")[0].selectedIndex = 1;
$("#sel-1").render();
如果要禁用下拉框,代码如下:
$("#sel-1").attr("disabled",true);
$("#sel-1").render();
QUI中渲染与刷新是同一个方法render(),会自动判断进行处理。
关于QUI框架,大家可以看我之前发的资讯帖子来了解:
http://www.iteye.com/news/26579-ui-web-qui-jquery
jQuery Mobile与QUI框架的异曲同工之处的更多相关文章
- 小强的HTML5移动开发之路(47)——jquery mobile基本的页面框架
一.单容器页面结构 <!DOCTYPE html> <html> <head> <title>Jquery mobile 基本页面框架</titl ...
- 使用jQuery Mobile和Phone Gap开发Android应用程序
经过了一段时间的学习,初步了解了该如何使用jQuery Mobile和 Phone Gap来开发一个Android应用程序,也想把这些东西介绍给大家. 1. 软件准备 要进行android app的开 ...
- 使用jQuery Mobile和Phone Gap开发Android应用程序(转)
经过了一段时间的学习,初步了解了该如何使用jQuery Mobile和 Phone Gap来开发一个Android应用程序,也想把这些东西介绍给大家. 1. 软件准备 要进行android app的开 ...
- Sencha Touch vs jQuery Mobile
Sencha Touch:重量级框架,类似于Flex SDK;组件封装较多;在各平台交互表现统一(内部封装);入门门槛较高 jQuery Mobile:轻量级框架,实质是jQuery插件;组件较少;交 ...
- jQuery Mobile 是创建移动 web 应用程序的框架。
jQuery Mobile jQuery Mobile 是创建移动 web 应用程序的框架. jQuery Mobile 适用于所有流行的智能手机和平板电脑. jQuery Mobile 使用 HTM ...
- 移动Web框架:jQuery Mobile VS Sencha Touch
最近常被问到是用 jQuery Mobile还是Sencha Touch,本人也比较关注这两个框架,试图从以下两方面发表点儿见解: 身家背景,都系出名门 1.jQuery Mobile 建立在jQue ...
- jQuery Mobile 移动 web 应用程序框架
在这里我们主要讲一下如何引用jQuery Mobile(引用了jQuery Mobile,你就能引用jQuery Mobile里已经封装好的代码,让开发更加快捷简单) 从 CDN 引用 jQuery ...
- jQuery Mobile入门
转:http://www.cnblogs.com/linjiqin/archive/2011/07/17/2108896.html 简介:jQuery Mobile框架可以轻松的帮助我们实现非常好看的 ...
- jquery.mobile手机网页简要
先上最终效果: 最近做了一个用手机浏览器访问的web应用,采用较流行的HTML5,为了提高开发效率节省时间决定采用现有开源框架,免去了自己做设计与兼容性. 一些比较优秀的框架:10大优秀的移动Web应 ...
随机推荐
- 【LeetCode 238】Product of Array Except Self
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equ ...
- DzzOffice结合office web Apps私有部署的实例
很多朋友都想在自己使用的DzzOffice中,调用本地部署的office web Apps server. 下面我就直接从头到尾的将部署全部过程分享给大家. 准备条件:两台服务器,配置稍高点,以免卡顿 ...
- 《深入理解C#》第3版 学习进度备忘
学习资源:<深入理解C#>第3版 知识基础支持: <C# in a nutshell> O Reilly出版社,是一本从头介绍C#的优秀图书.<Essential C#5 ...
- Java 分割文件 注意事项
public static void main(String args[]) throws Exception { if (args.length < 1) { System.exit(0); ...
- 2014搜狗前端面经【B事业部】
本来就投了一份简历,后来又收到了个B事业部的面试电话,今天刚面完一面,总体感觉还是很基础的,其中一名面试官帅到不行啊!另一个也不差,真是幸胡...(sorry,跑题了...) 上来先做了份笔试题,超级 ...
- 黑马程序员——经典C语言程序设计100例
1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯 ...
- string中的substr() 和 find() 函数
string问题中经常遇到在stringA中查找stringB,主要通过substr()跟find()来完成 substr().find().replace() 都可以用一个位置加上一个长读去描述子串 ...
- [转]简析 IOS 程序图标的设计
表现形态**** 在有限的空间里表达出相对应的信息,在IOS 程序图标设计中,直观是第一个解决的问题,不应该出现大多繁琐的修饰,当然还要有很好的视觉表现力,使用户可以更容易理解此应用的实际作用,更轻松 ...
- Yarn中的几种状态机
1 概述 为了增大并发性,Yarn采用事件驱动的并发模型,将各种处理逻辑抽象成事件和调度器,将事件的处理过程用状态机表示.什么是状态机? 如果一个对象,其构成为若干个状态,以及触发这些状态发生相互转移 ...
- dom 拖拽回放
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...