Подтвердить что ты не робот

Как отображать load.gif в центре экрана с полосой прокрутки

Я пытаюсь отображать load.gif/spinning wheel всякий раз, когда пользователь нажимает кнопку. Я добавил div как ниже на главной странице:

<div id="loadingDiv">
    <div>
        <h7>Please wait...</h7>
    </div>
</div>

Это css:

#loadingDiv{
  position:absolute;
  top:0px;
  right:0px;
  width:100%;
  height:100%;
  background-color:#666;
  background-image:url('ajax-loader.gif');
  background-repeat:no-repeat;
  background-position:center;
  z-index:10000000;
  opacity: 0.4;
  filter: alpha(opacity=40); /* For IE8 and earlier */
}

Когда я пытаюсь это сделать, load.gif отображается в центре страницы. Но поскольку страница действительно длинная, мне нужно прокрутить, чтобы увидеть load.gif.

Как я могу отобразить load.gif в центре экрана, который виден? И если я прокручу вниз, я должен увидеть это снова в центре экрана.

4b9b3361

Ответ 1

в вашем CSS, попробуйте изменить позицию: absolute; с позицией: фиксированная;

Ответ 2

Здесь решение., JS FIDDLE DEMO

HTML

<body>
<div class="content">
    Long Content Here
    <br/>
    Click to view loading image.
</div>
<div id="divLoading"> 
</div>

CSS

#divLoading
{
display : none;
}
#divLoading.show
{
display : block;
position : fixed;
z-index: 100;
background-image : url('http://loadinggif.com/images/image-selection/3.gif');
background-color:#666;
opacity : 0.4;
background-repeat : no-repeat;
background-position : center;
left : 0;
bottom : 0;
right : 0;
top : 0;
}
#loadinggif.show
{
left : 50%;
top : 50%;
position : absolute;
z-index : 101;
width : 32px;
height : 32px;
margin-left : -16px;
margin-top : -16px;
}
div.content {
width : 1000px;
height : 1000px;
}

JQuery

$(document).ready(function(){
$("div.content").click(function(){
    $("div#divLoading").addClass('show');
});
});

Ответ 3

Я использовал этот html и css, и он всегда отображал в центре, будет ли моя страница длинной или короткой:

<div id="divLoading" style="margin: 0px; padding: 0px; position: fixed; right: 0px; top: 0px; width: 100%; height: 100%; background-color: rgb(102, 102, 102); z-index: 30001; opacity: 0.8;">
<p style="position: absolute; color: White; top: 50%; left: 45%;">
Loading, please wait...
<img src="images/ajax-loading.gif">
</p>
</div>

ПРИМЕР FIDDLE

Ответ 4

Изменить:

#loadingDiv{position:absolute;top:0px;right:0px;width:100%;height:100%;background-color:#666;background-image:url('ajax-loader.gif'); background-repeat:no-repeat;background-position:center;z-index:10000000;  opacity: 0.4;

To:

#loadingDiv{position:fixed;top:0px;right:0px;width:100%;height:100%;background-color:#666;background-image:url('ajax-loader.gif'); background-repeat:no-repeat;background-position:center;z-index:10000000;  opacity: 0.4;

Изменено position от absolute до fixed

JSFiddle Demo