• jquery.mobile 中 collapsible-set collapsible listview 共同布局问题


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

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

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

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

    第一槛

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

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

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

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

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

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

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

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

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

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

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

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

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

    <div data-role="content" style="border: solid #CCC; border- 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- 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>
    View Code
  • 相关阅读:
    linux ubuntu装机到可实现java(eclipse,intellij IDEA,android)开发全过程
    浅谈线程同步的几种方法
    KMP算法,这是我看到的最简单的最好理解的KMP算法
    常用基础算法C++实现
    堆内存和栈内存详解(转载)
    数据结构=。= 链表
    倒排索引--资料1
    倒排索引简单理解
    简单理解Socket
    8.结构体的使用 2015.12.3
  • 原文地址:https://www.cnblogs.com/lonny/p/4277861.html
Copyright © 2020-2023  润新知