2013-10-09 96 views
2

我在我的phonegap應用程序中使用3d變換實現了頁面滑動條,所以它的速度非常快。Phonegap:限制僅滾動到Y軸

它看起來不錯,工作正常,但現在我意識到,我可以在任何方向上滾動頁面,包括左側和右側(x軸)。 但我需要阻止,不知何故,有沒有任何方式,無論是JavaScript/CSS或甚至ios/android防止用戶在X軸上滾動?否則,他可以輕鬆拖動到下一個屏幕。

我只是把div的名單到容器內,把他們所有的權利與下面的CSS:

.page { 
    background-color: #fff; 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    -webkit-transform: translate3d(100%, 0, 0); 
    transform: translate3d(100%, 0, 0); 
    padding: 10px 10px 30px 10px; 
    -webkit-transition-duration: .25s; 
    transition-duration: .25s; 
} 

然後我使用另一個類僅復位X過渡到0%,所以它從右向左滑動,而當前頁面從-100%從中心向左滑動。 但是,只有通過touchmove事件滾動是一個問題在這裏。

任何想法?

UPDATE:

由於它仍然沒有工作。給更多的信息。我的HTML看起來像這樣:

... ...

你知道從我的網頁類的CSS。我的容器ID具有以下規則:

#container { 
    position: absolute; 
    width: 100%; 
    height: 100%; 
    overflow-y: auto !important; 
    overflow-x: hidden !important; 
} 

回答

0

您可以使用下面的CSS:

body{ 
    width: 100%; 
    height: 100%; 
    margin: 0; 
    padding: 0; 
    overflow-x: hidden !important; 
    overflow-y: scroll !important; //or auto 
} 
+0

沒有幫助。第一個屏幕是可滾動的,但如果在右側沒有更多屏幕出現在視圖之外,它就可以工作。奇怪。 – NovumCoder

+0

已更新的答案。添加!重要標籤以確保它不會被進一步覆蓋。確保你把它放在體內,以便它處於最高層。 – Dom

+0

這適用於桌面瀏覽器。但在移動我有touchmove事件似乎不受溢出設置的影響,我仍然可以在兩個軸上滾動。 – NovumCoder