最近項目用上了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>
以上就是本文的全部內容了,希望大家能夠喜歡。