JavaScript:页面加载时隐藏滚动条

我有一个预加载器,它会在页面加载时显示,它会在页面加载一秒后消失。

我想要实现的是,我不希望人们在显示预加载器时看到滚动条。我该怎么做?

var loader = document.getElementById("container");
window.addEventListener("load", function() {
  window.setTimeout(() => {
    loader.style.display = "none";
  }, 1000)
})
#container {
  background-color: #ddd;
  height: 100vh;
}

P {
  height: 100vh;
  overflow: visible;
}

.loader1{
    position: relative;
    height: 80px;
    width: 80px;
    border-radius: 80px;
    border: 3px solid  rgba(255,255,255, .7);
    top: 28%;
    top: calc(50% - 43px);
    left: 35%;
    left: calc(50% - 43px);
    -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%;
    -webkit-animation: loader1 3s linear infinite; animation: loader1 3s linear infinite;
}

.loader1:after{
    content: "";
    position: absolute;
    top: -5px;
    left: 20px;
    width: 11px;
    height: 11px;
    border-radius: 10px;
    background-color: #fff;
}

@-webkit-keyframes loader1{
    0%{-webkit-transform:rotate(0deg);}
    100%{-webkit-transform:rotate(360deg);}
}

@keyframes loader1{
    0%{transform:rotate(0deg);}
    100%{transform:rotate(360deg);}
}
<div>
  <div></div>
</div>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>

回答

你可以像下面这样做:

window.addEventListener("load", function() {
  document.body.style.overflow = "hidden"
  window.setTimeout(() => {
    loader.style.display = "none";
    document.body.style.overflow = "auto"
  }, 1000)
})

  • 我会将溢出设置为自动,而不是滚动。

以上是JavaScript:页面加载时隐藏滚动条的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>