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

新手上路,请多包涵

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

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

请只给我关于 JavaScript 或 CSS 的建议,不要给我关于 JQuery 的建议,因为我没有使用 JQuery 库。

原文由 Anand Jha 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 525
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');

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

原文由 Anand Jha 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

window.scrollTo(0,0);

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

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

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

原文由 Voonic 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏