如何使用javascript重置div中的滚动位置

时间:2013-10-21 11:03:13

标签: javascript jquery html css dojo

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

在我的html页面中,我有3个标签。单击选项卡时,可滚动div的内容会发生变化。我的问题是当我向下滚动div(视图)的内容并单击另一个选项卡时,内容消失(但内容已经存在)。

所以,请帮助我,以便我可以在点击任何标签时重置位置。

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

3 个答案:

答案 0 :(得分:15)

没有看到代码,我可以猜测。 如果要重置滚动位置,只需使用

即可
window.scrollTo(0,0); 

将此代码添加到每个标签点击功能中,这样当您点击任何标签时,它会重置为顶部。

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

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

答案 1 :(得分:2)

很容易

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

答案 2 :(得分:2)

最后这对我有用

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

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