jquery.mobile 共同布局遇到的问题小结

最近项目用上了jquery.mobile这货,在手机上做点简单的显示。之前只知道有这个框架,没把玩过。

特别是事件绑定方面,相比桌面系统下浏览器用着各种不爽,不得要领。

如下图,在做后台系统时,一般左侧都是一个个模块及下属菜单项,可展开折叠。

我的问题卡在了累计评价这块,为了页面复用,累计评价中嵌套了iframe做评论显示。

第一槛

有过移动WEB开发的同学应该知道,IOS浏览器下iframe中内容过多时,滚动条时不会出现的,内容好像被截断了。

查资料最终搞定,手机屏毕竟小,评论多的时候不可能像电脑浏览器上的页面搞一排的翻页按钮,这样体验实在太差了。

现在一般都是滚动加载,写DEMO在电脑上先跑一下,可行!换手机上,先用个android机试试,可行,满心以为可以。

换用iphone 只是滚动条的问题解决了,我的滚动加载呢。反复滑动还是没反应,心都凉了。这里要说个邪乎的事,在QQ, 微信中又是可以的,是在是怪哉。

再这么耗下去也没什么结果,还是另寻它法吧。第一想到在单独的页面去做这事。于是遇到第二槛。

代码如下:

<div data-role="content" style="border: solid #CCC; border-width: 0 1px;">
                    <ul data-role="listview">
                        <li><a id="pjList" href="xxx" class="ui-btn-text"  >累计评价</a></li>
                    </ul>
                </div>

上面对应累计评价部分,在点击后打开页面样式全乱了包括js事件都没执行。f12看代码,除了body 中的html 元素,head中部分,页面底部的js全没了。

要不要这么坑啊。问同事有没遇到这样的问题,说加上rel="external"就好了,别说真行。于是代码变成了如下:

代码如下:

<div data-role="content" style="border: solid #CCC; border-width: 0 1px;">
                    <ul data-role="listview">
                        <li><a id="pjList" href="xxx" class="ui-btn-text" rel="external">累计评价</a></li>
                    </ul>
                </div>

注:rel='external'与target=''_blank''相似,意思在新的页面打开

第三槛,也就是标题中提到的问题(头部图片是最终效果)

collapsible listview 这两伙伴水火不容,死活调不出比较好的布局效果,瞎鼓捣时加了个空的collapsible居然可以了。

最终让它们在一起了。collapsible 图标默认是+,listview项时右箭头,将图标统一。累计评价默认并不是上图那样。

代码如下:

<div data-role="content" style="border: solid #CCC; border-width: 0 1px;">

到此问题都扫清,完整页面如下:

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <meta name="format-detection" content="telephone=no" />
    <link rel="stylesheet" href="../Scripts/mobile/jquery.mobile-1.3.2.min.css" />
    <script src="../Scripts/mobile/jquery-1.8.3.min.js" type="text/javascript"></script>
    <script src="../Scripts/mobile/jquery.mobile-1.3.2.min.js" type="text/javascript"></script>
    <style type="text/css">
        .ui-btn-text
        {
            font: bold 14px Arial,Helvetica, sans-serif, 微软雅黑;
        }
    </style>
</head>
<body>
    <div data-role="page" id="pageone" data-add-back-btn="true" data-overlay-theme="a">
        <div data-role="content">
            <div data-role="collapsible-set" data-iconpos="right" data-theme="c" data-content-theme="d"
                data-expanded-icon="arrow-u" data-collapsed-icon="arrow-d">
                <div data-role="collapsible">
                    <h3>医院介绍</h3>
                    <p></p>
                </div>
                <div data-role="collapsible">
                    <h3>套餐相关信息</h3>
                    <p></p>
                </div>
                <div data-role="collapsible">
                    <h3>使用须知</h3>
                    <p></p>
                </div>
                <div data-role="collapsible">
                    <h3>查看地图</h3>
                    <p></p>
                </div>
                <div data-role="collapsible">
                </div>
                <div data-role="content" style="border: solid #CCC; border-width: 0 1px;">
                    <ul data-role="listview">
                        <li><a id="pjList" href="xxx" class="ui-btn-text" rel="external">累计评价</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

以上就是本文的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • jQuery Mobile弹出窗、弹出层知识汇总

    先创建一个窗体 <div data-role="popup" id="popupView" class="ui-content" data-overlay-theme="b" data-position-to="window" data-dismissible="false"> <a href='javascript:void(0)' data-rel="ba

  • jQuery mobile的header和footer在点击屏幕的时候消失的解决办法

    jQuery Mobile简介 jQuery Mobile 是创建移动 web 应用程序的框架. jQuery Mobile 适用于所有流行的智能手机和平板电脑. jQuery Mobile 使用 HTML5 和 CSS3 通过尽可能少的脚本对页面进行布局. 给header和footer添加 data-position="fixed" 和 data-tap-toggle="false"即可,代码如下: <div data-role="footer&q

  • JQuery Mobile实现导航栏和页脚

    导航栏由一组水平排列的链接构成,通常位于页眉或页脚内部. 默认地,导航栏中的链接会自动转换为按钮(无需 data-role="button"). 导航栏部分的代码一般放置在data-role为header的div的内. <div data-role="header"> <a href="#" data-role="button" data-icon="home">首页</a&g

  • Jquery Mobile 自定义按钮图标

    很多朋友都反应jquery mobile自带的图标真的是少之又少,另外我也觉得图标偏小(系统自带的是18*18的),于是琢磨着如何自定义按钮图标,下面小编把我的方法分享给大家. 刚接触Jquery Mobile框架,遇到个很现实问题,就是如何自定义按钮图标,我觉得jquery mobile 自带的图标实在是太少了,另外我觉得图标也偏小(系统自带的应该是18*18的)下面是我的方法,希望大家踊跃拍砖. 1.第一种方法是比较简单的,但是有前提,前提就是你自定义的图标大小应该和系统内置的保持一致,这样

  • 让jQuery Mobile不显示讨厌loading界面的方法

    jQuery Mobile 的一个BUG: 当不采用 ajax 以及 他自己的 back 返回的时候,即: 点击浏览器后退按钮时,将会从缓存之中加载页面,此时,讨厌的 loading 动画出来了,而且一直不消失. 网上找了好多解决方法,搜索了好久都没有好用的,今天突然想起来个釜底抽薪,直接动jqeury-mobile 的类库. 用编辑器打开, 找到显示pageLoading的方法, showPageLoadingMsg 的定义处: 然后加上一句代码,if("".length<5)

  • 使用jQueryMobile实现滑动翻页效果的方法

    本文实例讲述了使用jQueryMobile实现滑动翻页效果的方法.分享给大家供大家参考.具体分析如下: 滑动手势在移动设备是很流行的,在移动设备中滑动翻页中很常见 虽然这个功能可以在jQueryMobile中实现,但是个人与之前一篇[jQuery手机浏览器中拖拽动作的艰难性分析]中的观点一致,由于这是在手机浏览器中浏览,而不是安卓的一个独立APP,所以不要经常除点击以外的移动设备手势,以免跟手机浏览器与手机系统本身的手势发生冲突. 那么,使用jQueryMobile实现滑动翻页的效果到底怎么做呢

  • jquerymobile局部渲染的各种刷新方法小结

    在JQueryMobile页面在第一次初始化进行一次整体渲染,动态生成的需要局部渲染. 在jquerymobile实现listview局部渲染的方法: 复制代码 代码如下: function queryPublishOrderList(trackOrDealOrInsp,userCode,type,pageNum){      var queryPublishOrderListURL="http://xxx.xxx.xxx.xxx/Myapp/WorkOrderSelByTypeService.

  • jQuery Mobile开发中日期插件Mobiscroll使用说明

    近期在移动方面的开发,使用jQuery Mobile ,移动方面的插件不如Web 方面的插件多,选择的更少,有一些需要自己去封装,但功力尚不足啊. 日期插件JQM也提供了内置的,但样式方面不好看,只好百度.Google啦,找到了两款 jquery-mobile-datebox 和 mobiscroll-2.3 jqueryMobileDatebox 这个在板上的表现不好,性能方面有点卡 mobiscroll 性能方面比前者要好一些,效果更简洁 ,划动更流畅 放在一起对比下 各位看官,你们觉得哪个

  • jquery.mobile 共同布局遇到的问题小结

    最近项目用上了jquery.mobile这货,在手机上做点简单的显示.之前只知道有这个框架,没把玩过. 特别是事件绑定方面,相比桌面系统下浏览器用着各种不爽,不得要领. 如下图,在做后台系统时,一般左侧都是一个个模块及下属菜单项,可展开折叠. 我的问题卡在了累计评价这块,为了页面复用,累计评价中嵌套了iframe做评论显示. 第一槛 有过移动WEB开发的同学应该知道,IOS浏览器下iframe中内容过多时,滚动条时不会出现的,内容好像被截断了. 查资料最终搞定,手机屏毕竟小,评论多的时候不可能像

  • jQuery mobile 移动web(6)

    jquery mobile 针对移动端设备的事件类型. 1.touch 事件. tap 快速触摸屏幕并且离开,类似一种完整的点击操作.   taphold 触摸屏幕并保持一段时间.   swipe 在1秒内水平移动30px屏幕像素上时触发.   swipeleft 向左侧滑动   swiperight 像右侧滑动. 2.方向改变事件 orientationchange 事件函数当移动设备的方向发生改变触发,在事件的回调函数内的第二个参数返回一个用于识别当前方向的参数,   该参数有两种返回值:p

  • jQuery Mobile页面返回不需要重新get

    jQuery Mobile 是用于创建移动 Web 应用的前端开发框架. jQuery Mobile 可以应用于智能手机与平板电脑. jQuery Mobile 使用 HTML5 & CSS3 最小的脚本来布局网页. 最近公司的web app项目,使得我有幸一直接触和学习jQuery Mobile.这确实是一个很不错的移动开发库,有助于擅长web开发的工程师,快速入门并构建自己的移动应用.但是在前两天,我碰到了一个问题,使我查了很多资料都没有找到很好的解决方案,最终只能逼着我读jQuery Mo

  • jQuery Mobile 和 Kendo UI 的比较

    jQuery Mobile 和 Kendo UI 都是流行的 JavaScript 框架,在开发中我们可以在它们的基础上添砖加瓦制作所有现代移动WEB应用.这两个框架都是基于使用率顶尖的 JavaScript 库 jQuery 所构建的.比较 Kendo UI 和 jQuery Mobile 有些类似于比较同一枚硬币的两面.众所周知,jQuery Mobile 实际上并不需要太多的介绍,因为它是最常用的HTML5框架之一. Kendo UI 具有相似的动机和类似的发展速度.与 jQuery Mo

  • 使用jQuery mobile NuGet让你的网站在移动设备上同样精彩

    问题 默认情况下,你的网站在移动设备上展现的可能不太好.当然,有的移动设备足够让你的网站在它上显示.但是这也不是稳妥的.可能你不希望为移动电话创建一个全新的网站,成本太高. 解决方案 使用jQuery mobile NuGet包,改变共享的布局和视图,并使你的网站在传统的浏览器和大部分手机展现的都很好. 讨论 首先,如果你一直在阅读关于4 MVC的路线图,你会注意到很多讨论是围绕着移动的增强.特别的是,在这个例子中我们将使用jQuery mobile工具箱. 不幸的是,如很多事情表明这将是MVC

  • jQuery mobile类库使用时加载导航历史的方法简介

    jQuery.mobile.navigate( url [, data ] ) 改变URL和跟踪历史.作品为浏览器和无历史新的API url:是必须的参数.类型:字符串 data:是可选的参数.类型:对象. 更改哈希片段两次然后日志提供导航事件数据时,浏览器向后移动的历史 // Starting at http://example.com/ // Alter the URL: http://example.com/ => http://example.com/#foo $.mobile.navi

  • JQuery Mobile 弹出式登录框的实现方法

    <a href="#login" data-rel="popup" data-position-to="window" data-role="button">Login</a> <div data-role="popup" id="login" data-theme="a"> <form style="padding

  • jQuery Mobile框架中的表单组件基础使用教程

    一.表单组件基础 1.组件简介 jQuery Mobile 中的表单组件是基于标准 HTML ,然后在此基础上增强样式,因此即使浏览器不支持 jQuery Mobile 表单仍可正常使用.需要注意的是, jQuery Mobile 会把表单元素增强为触摸设备很容易使用的形式,因此对于 iphone/ipad 与 Android 使用 Web 表单将会变得非常方便. jQuery Mobile 的表单组件有以下几种: (1)文本输入框, type="text" 标记的 input 元素会

随机推荐