Ответ 1
в вашем CSS, попробуйте изменить позицию: absolute; с позицией: фиксированная;
Я пытаюсь отображать 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 в центре экрана, который виден? И если я прокручу вниз, я должен увидеть это снова в центре экрана.
в вашем CSS, попробуйте изменить позицию: absolute; с позицией: фиксированная;
Здесь решение., 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');
});
});
Я использовал этот 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>
Изменить:
#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