我正在开发一个中型移动单页应用程序,该应用程序使用通常的 html5 嫌疑犯以及一些移动和 JS 框架(Cordova/PhoneGap、jQuery、knockout 和 iScroll 是其中最突出的)实现。
直到最近我还在使用 jQuery-Mobile,但最后对它感到非常沮丧,并决定让它启动。
在我的标记中,我仍然将所有页面作为 div 标记直接放在 body 标记下方,现在我正在寻找一种策略来管理页面和它们之间的转换。
我正在寻找反馈的想法是将所有页面绝对定位在正文内,并根据我需要滑入的方向调整左/右位置。在 CSS 术语中,这看起来像这样:
body {
position:relative;
top:0;
left:0;
right:0;
bottom:0;
}
body > div {
position:absolute;
top:0;
left:320px; /* this is page/viewport width, will be calculated and set on app start */
}
body > div.current-page {
left:0;
}
我的期望是这种结构可以很容易地使用 CSS3 转换添加页面转换。
- 有人试过这个吗?
- 这样的事情会在各种移动平台上的浏览器上运行吗?
- 有什么陷阱或需要注意的事情吗?
- 对用于实际页面转换的库有什么建议吗?
- 这会与 iScroll 很好地配合吗?
我已经关注了路由器库/实现,但我也愿意接受这方面的建议。
如果您想知道我为什么要放弃 jquery-mobile,以下是我的主要原因:
- 所有从数据标签重写的 DOM 都不能很好地与淘汰赛配合使用,因此使用它的小部件是痛苦多于收获
- 必须将大部分 CSS 编写为 jqm 自己的样式的“补丁”是徒劳的
- 它的路由器不支持页面/哈希参数
- 它并非旨在处理其事件链中的任何类型的异步,例如延迟页面转换,直到从设备本地存储中读取某些内容
感谢您阅读到这里!:)