最近項目用上了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>
