【问题标题】:Odd over-scroll behavior奇怪的过度滚动行为
【发布时间】:2019-05-16 19:28:27
【问题描述】:

所以我们有了这个网站,当你一直向下滚动到底部时,它会一直滚动。

我尝试了很多方法来解决这个问题,但没有找到有效的解决方案。

似乎在<html> 主标签之外添加了边距。

任何帮助将不胜感激

仅添加了自定义 JS:

if (document.getElementById("tab1")) {
document.getElementById("tab1").style.display = "flex";
document.getElementsByClassName("tablinks")[0].className += " active";
}
var durl = String(document.URL);

if (durl.indexOf("#") != -1) {
durl = durl.substring(durl.indexOf("#") + 1,durl.length);
  openTab(event, durl);
}

function openTab(evt, name) {
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
  tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
  tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(name).style.display = "flex";
if (evt == undefined) {
  document.getElementsByClassName(durl)[0].className += " active";
  setTimeout(function() {
    window.scroll(0, document.getElementsByClassName("tab")[0].offsetTop)
  }, 1000);
} else {
  evt.currentTarget.className += " active";
}
  }

【问题讨论】:

  • 向我们展示代码,minimal reproducible example
  • 它是付费主题,我不能合法地共享代码。请看一下网站,您就会发现问题。
  • 我认为是 PageOverlay 或 PageTransition 导致了一些问题。我添加了height: auto;,它有助于减少空白的数量,但问题仍然存在
  • 主题名称是什么,您在哪里购买的?
  • 你应该和卖给你这个主题的公司打交道,而不是 StackOverFlow。商业软件和系统的故障是他们的责任。

标签: javascript html css shopify


【解决方案1】:

这是问题的答案:

任何和所有图像都被应用 translate3d 并且在滚动时它正在计算以下内容:transform: translate3d(0px, &lt;insert current scroll position&gt;px, 0px);

这导致页面自身溢出,并且是由包含的 libs.min.js 包引起的。

我为解决此问题所做的是将 &lt;insert current scroll position&gt; 替换为调用它的位置 0。

还有一个名为 .search 的隐藏 div 具有 transform translateY(-25px) 和一个高度为 100vh 的 ::after 伪类,删除它可以解决问题

谢谢大家的帮助

【讨论】:

    猜你喜欢
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多