2013-03-13 43 views
1

即時通訊問題與位置固定在一個應用程序,即時使用phonegap .. 直到現在我認爲它正在運行,因爲它應該,但我發現那個位置固定「休息」在特定的情況下。 我有上面一排(div)的幾個選項卡和onclick與每個選項卡上的一些JavaScript和CSS我改變使用顯示屬性的主視圖..已解決的Android Phonegap/Webkit/Viewport位置

我發現雖然,如果我已經向下滾動視圖,然後我選擇更改選項卡,然後整行選項卡,而不是停留在頂部的「固定」,它向下移動,並獲得「固定」在一個新的比頂部位置低。

我的代碼的主要佈局是

<html> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 
<head> 
</head> 
<body> 
<div id="tabwrap">a couple of divs for tabs blah blah</div> 
<div id="content">main view with hide/show etc</div> 
</body> 

(我包括中繼檢視區標記只是爲了使用它,以及指出,即時通訊) 如果主視圖不向下滾動,並且它是在上面,然後沒有休息的位置固定,並如預期停留在頂端.. 我試圖「欺騙」,它通過在每個標籤的onclick事件加入這一行

document.body.scrollTop = document.documentElement.scrollTop = 0; 

,以便它之前恢復到最佳加載相應的div中的下一個內容,但沒有成功。

和CSS

#tabwrap {height:3em; position:fixed; width:100%; } 
#content { padding-top:4em; width:100%; } 

這裏是從的jsfiddle一個小的demo,但是不知道這是否是有什麼用途.. http://jsfiddle.net/B3Y5N/7/ 我已經剝離了一些FO的代碼,使其simplier

怪異事情是,在2.3.5(三星s5570)它沒有問題,我注意到在4.2.2(nexus)的問題,而我期望相反..

+0

真的不能告訴根據您的描述是怎麼回事。你可以發佈一個jsfiddle來更清楚地顯示你的標記嗎? – kpeatt 2013-03-13 00:41:10

+0

將嘗試做現在.. – nikolas 2013-03-13 00:45:20

+0

在4.0.3 htc evo 3d上測試它,並且問題不顯示... !!!直到現在,我只能在4.2.2 nexus上重現它 – nikolas 2013-03-13 15:02:53

回答

2

這裏我所做的變化似乎修正了這個問題..

#tabwrap {height:3em; position:fixed; width:100%; top:0; left:0; z-index:100;} 

#content {position absolute; top:4em; width:100%; height:100%} 

也從HTML文檔中

height:device-height 

除去從

meta name=viewport tag