2016-03-10 1 views
0

У меня есть страница с контейнером с вертикальной прокруткой, и я хочу добавить анимацию загрузки на видимую часть страницы над контейнером. Я попробовал div с классом:Показать анимацию загрузки на видимой части центра страницы

.loading-animation { 
    height:100vh; 
    background: url(img/loading.gif) 50% 50%/100px 100px fixed no-repeat; 
} 

но он появился в нижней части страницы, под моим контейнером. Затем я попробовал

.loading-animation { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    z-index: 10; 
    background: url('img/loading.gif') 50% 50%/100px 100px no-repeat; 
} 

, и это появилось над моим контейнером, но в середине всей страницы, а не в видимой области. Любые идеи, как достичь этого оценили

edit1, JavaScript:

var loading_animation; 

function showLoadingAnimationModal() { 
    loading_animation = document.createElement("div"); 
    loading_animation.style.cursor = "progress"; 
    loading_animation.className = "loading-animation"; 

    document.body.appendChild(loading_animation); 
} 

function hideLoadingAnimationModal() { 
    if (loading_animation.parentNode == document.body) { 
     document.body.removeChild(loading_animation); 
    } 
} 

HTML шаблон (с использованием emberjs):

<script type="text/x-handlebars"> 
     <div align="center"> 
     {{outlet}} 

     {{#if errorMessage}} 
      <div class="alert alert-danger" role="alert"> 
       {{errorMessage}} 
      </div> 
     {{/if}} 
     </div> 
</script> 

<script type="text/x-handlebars" data-template-name="login"> 
    <div class="container"> 
    <!--skipped elements--> 
    </div> 
</script> 
+0

Покажите нам ваш HTML код –

+0

использовать компонент для отображения загрузки кок внутри/выше вашего 'container' элемента. Использование javascript или jquery для добавления в документ против зерна в ember. – Grapho

ответ

0

здесь fiddle

CSS

.maindiv{ 
position: relative; 
} 
.loader 
{ 
    position:absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    z-index: 10; 
    background: rgba(0,0,0,0.5); 
} 
.loader span 
{ 
    height:30px; 
    width:100px; 
    padding:10px; 
    margin:auto; 
    top:0px; 
    right:0px; 
    left:0px; 
    bottom:0px; 
    position:absolute; 
    background:#ddd; 

} 
.scrolldiv 
{ 
    height:200px; 
    overflow:auto; 

} 

Html

<div class="maindiv"> 
    <div class=loader> 
      <span>Loading</span> 
    </div> 
    <div class="scrolldiv"> 
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
    </div> 
</div> 
+0

спасибо, но кажется, что это не работает, если страница прокручивается донизу, div отображается на верхней странице –

+0

ok, тогда вам нужно использовать позицию: фиксированная и установить верхнюю левую динамическую позицию с использованием jquery offset.top контейнера div и установить в загрузчик ДИВ –

Смежные вопросы