如何阻止滚动直到加载器不显示?

时间:2016-02-26 06:50:54

标签: html css web loader preloader

我想知道是否有一种阻止滚动条的方法,直到div和它的加载器到达显示无点。我不知道这是否可以用html或css完成。有什么建议吗?

 #loader {
    background: #eeeeee;
    bottom: 0;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    display:block;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    z-index: 9999;
}
#loaderInner {
    background:#eeeeee url(https://dl.dropboxusercontent.com/s/asdfghfdsas/loader.gif) center center no-repeat;
    background-size: 250px 250px;
    position: absolute;
    height: 250px;
    width: 250px;
    display:block;
    margin: 0 auto;
    top: 50%;
    left: 50%;
    margin: -125px 0px 0px -125px;
}
body#layout #loader {
    display:none;
    overflow: scroll;
}

3 个答案:

答案 0 :(得分:2)

您可以使用一些简单的CSS来阻止在页面上滚动。但是你需要使用JS来处理何时应用这个类。

<强> CSS

body.loading {
    overflow: hidden;
}

答案 1 :(得分:0)

另一种解决方案是将loader div放置在固定位置,因此无需隐藏滚动条(这可能会导致奇怪的用户体验):

#loader {
    position: fixed;
    top: 0;
    left: 0;
    ...
}

滚动时将显示div

在这种情况下,您不需要“ body.loading”规则。

答案 2 :(得分:0)

由于定位器使加载器滚动,因此我们可以通过将位置css更改为position:fixed来轻松移除滚动器。 它将100%起作用。……

#loader {
    position: fixed;
    background: #eeeeee;
    bottom: 0;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    display:block;
    margin: 0 auto;
    overflow: hidden;
    z-index: 9999;
}