2013-10-21 50 views
2

我正在研究移動混合應用程序。如何使用javascript在div中重置滾動位置

在我的html頁面中,我有3個選項卡。當單擊一個選項卡時,可滾動div的內容會發生變化。我的問題是當我向下滾動div(視圖)的內容並點擊另一個選項卡時,內容消失(但內容在那裏)。

所以,請幫助我,這樣我可以重置位置點擊任何選項卡上。

請僅使用JavaScript或CSS,而不使用JQuery,因爲我沒有使用JQuery庫。

+4

'_請使用javascript_'建議我如果對最有趣的簡化js庫不感興趣,則不應該添加jquery標籤。 – Jai

+0

我已經包含jquery標籤jsut,因爲要最大化視圖,正如你所知,jquery是Javascript庫。 – anand4tech

+4

然後,你應該包括'pron'標籤以及':p'只是開個玩笑 – Stphane

回答

0

最後這個工作對我來說

function resetScrollPos(selector) { 
    var divs = document.querySelectorAll(selector); 
    for (var p = 0; p < divs.length; p++) { 
    if (Boolean(divs[p].style.transform)) { //for IE(10) and firefox 
     divs[p].style.transform = 'translate3d(0px, 0px, 0px)'; 
    } else { //for chrome and safari 
     divs[p].style['-webkit-transform'] = 'translate3d(0px, 0px, 0px)'; 
    } 
    } 
} 
resetScrollPos('.mblScrollableViewContainer'); 

在視圖之間切換後調用此函數將重置我的滾動位置。

7

沒有看到代碼,我只能猜測。 如果要重置滾動位置,你可以簡單地使用

window.scrollTo(0,0); 

將此代碼添加到您的每個選項卡中單擊功能,這樣當你永遠單擊任意選項卡,它重置頂部。

如果您具有overflow屬性的任何特定的div

var myDiv = document.getElementById('specificDiv'); 
myDiv.scrollTop = 0; 
+0

影子,這不是爲我工作,我以前用過這個,謝謝 – anand4tech

+0

@ anand4tech你可以設置一個小提琴 – Shadow

+0

我的代碼和邏輯有點複雜,可以根據我的要求給我提供任何參考信息謝謝 – anand4tech

1

這是很容易

<div id="test" style="height:150px; width:600px;overflow-y:auto;background-color:gray;"> 
    <div style="width:150px;height:500px; background-color:green;"></div> 
</div> 
document.getElementById('test').scrollTop =0; 
+1

,I以前用過這個,不行。 – anand4tech

+0

它不一定是你所在的DIV,但可能是你需要滾動的UL –