16

我正在开发一个移动混合应用程序。

在我的 html 页面中,我有 3 个选项卡。单击选项卡时,可滚动 div 的内容会发生变化。我的问题是当我向下滚动 div (视图)的内容并单击另一个选项卡时,内容消失了(但内容在那里)。请帮助我,以便我可以在单击任何选项卡时重置 div 滚动位置。

请仅使用 JavaScript 或 CSS 给我建议,而不是使用 JQuery,因为我没有使用 JQuery 库。

4

3 回答 3

38

没有看到代码,我只能猜测。如果你想重置滚动位置,你可以简单地使用

window.scrollTo(0,0); 

将此代码添加到您的每个选项卡单击功能中,以便当您单击任何选项卡时,它会重置为顶部。

如果您有任何具有溢出属性的特定 div

var myDiv = document.getElementById('specificDiv');
myDiv.scrollTop = 0;
于 2013-10-21T11:26:45.663 回答
4

这很容易

 <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;
于 2013-10-21T11:31:54.433 回答
4

最后这对我有用

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');

在视图之间转换后调用此函数,将重置我的滚动位置。

于 2014-03-06T07:21:38.347 回答