jQuery Mobile简介
2012-07-24 15:34 onm 阅读(466) 评论(0) 编辑 收藏 举报jQuery Mobile: Touch-Optimized Web Framework for Smartphones & Tablets。
为智能手机和平板触摸优化的Web框架,基于jQuery。写Web App或者Hybrid App会用到,界面挺丑,Android上性能表现不是很行,主要是加入了大量圆角和阴影效果,去掉后表现会好一点,iOS上则表现很好,其它平台没有试过。
jQuery Mobile主要提供了两个方面,一个是页面导航,另一个是一些元素控件。页面切换有两种,一种是传统的url变换,另一种是基于hash的变换,切换的时候默认使用ajax载入,然后再切换页面元素。元素控件主要是提供了一些工具栏,列表,按钮,输入框之类的东西。
jQuery Mobile大量的使用了HTML5的dataset属性来设置和获取一些元素空间的属性,比如按钮的写法是<a href="index.html" data-role="button">Link button</a>通过data-role="button"来设定这是一个button,然后会在相应的生命周期位置处通过包裹dom元素和设定相应css样式来生成一个按钮。比如再添加data-mini="true"属性,则会生成一个小样式的按钮。
jQuery Mobile主要分为几个组件,Page, ToolBar, Button, Form elements, List views,还有基本的一些布局元素Content Formatting。jQuery Mobile产生的App的一个完整的界面是一个Page,里面顶栏和底栏是ToolBar。
一个基本的Page是如下的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | < div data-role="page"> < div data-role="header"> < h1 >My Title</ h1 > </ div > <!-- /header --> < div data-role="content"> < p >Hello world</ p > </ div > <!-- /content --> </ div > <!-- /page --> </ body > </ html > |
jQuery Mobile还有主题系统,通过设定属性data-theme来设置主题。
基本内容也就这些,写的仓促,还是看http://jquerymobile.com/demos/1.1.1/这个更好。
写几个用jqm过程中遇到问题的一些解决方法。
1. 如果使用backbone,backbone和jqm都会监听url的hash变化,会产生冲突,可以通过设定jqm的hashListeningEnabled属性禁用掉。网上有详细方案,Google易得。
2. 可通过$.mobile.changePage手动更换page。
3. 可通过$.mobile.showPageLoadingMsg显示Loading对话框。
4. page transition在android上基本是悲剧。
5. 动态生成的listview可能会存在样式问题,可通过$("元素选择").listview(), $("元素选择").listview("create"), $("元素选择").listview("refresh")之一来解决,看具体情况。
6. 可以通过Layout grids来做些基本的多栏布局。
。。。
来一张用jqm做的weibo的截图:
(未完代续)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述