2010-08-06 2 views
0

У меня есть следующая структура: #tabs div - статический позиционированный div. Я хотел бы показать загрузку внутреннего div во время запроса ajax и сосредоточить его на div #tabs (который фактически является вкладкой jquery). Но он не сосредоточен на CSS, который у меня есть на данный момент.центр loading overlay div

<div class="span-18 last" id="top_tab_container"> 
    <div id="loading"> 
    <div id="loading_inner"> 
     Loading... 
    </div> 
    </div> 
    <div class="normal-pad ui-widget-content ui-tabs ui-widget ui-corner-all" id="tabs"> 
    <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"> 
     <li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a href="#tabs-1">Most Voted</a></li> 
     <li class="ui-state-default ui-corner-top"><a href="#tabs2" title="tabs2"><span>Near You xxxx</span></a></li> 
     <li class="ui-state-default ui-corner-top"><a href="#tabs3" title="tabs3"><span>You are Tracking</span></a></li> 
     <li class="ui-state-default ui-corner-top"><a href="#tabs4" title="tabs4"><span>Most Tracked</span></a></li> 
    </ul> 
    <div id="tabs-1" class="ui-tabs-panel ui-widget-content ui-corner-bottom"> 

    </div><div id="tabs2" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"></div> 

     <div id="tabs-2"> 
     </div> 
     <div id="tabs3" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"> 
     <div id="tracked_posts"></div> 
     </div> 

    <div id="tabs4" class="ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"> 
     <div id="most_tracked_"></div> 
    </div> 
    </div> 
</div> 

#loading_inner { 
    background:transparent url(/images/loading_big.gif) no-repeat scroll center center; 
    font-size:16px; 
    font-style:normal; 
    font-variant:normal; 
    font-weight:normal; 
    height:100px; 
    left:50%; 
    line-height:normal; 
    margin-left:-50px; 
    margin-top:-50px; 
    overflow:auto; 
    padding:10px; 
    position:fixed; 
    text-align:center; 
    top:50%; 
    width:100px; 
    z-index:2; 
} 
+0

Проверьте с помощью firebug, если какой-либо другой стиль перегружается. И посмотрите, удаляет ли удаление прокрутки или помещает ее в конец. – naugtur

ответ

0

положение замены: фиксировано; к позиции: абсолютная; и добавьте: #top_tab_container {position: relative; }

это то, что вы имеете в виду?

+0

Это работает в других сценариях, но здесь происходит то, что вкладки jquery загружаются через ajax, а вкладки автоматически заполняются. Поэтому при первом нажатии вкладки (например, tabs-2) загрузочный div не выравнивается правильно, потому что, возможно, tabs-2 еще не существует. Как только вкладки-2 загружаются, в следующий раз, когда он щелкнет, загрузка будет отображаться правильно. Есть предположения? – badnaam

+0

hmmm .. если вы можете изменить место загрузочного div, я бы сделал контейнер для вкладок. затем поместите загрузочный div как дочерний элемент контейнера и используйте то же абсолютное позиционирование. таким образом, вкладки могут быть загружены автоматически, и если контейнер центрирует загрузку div с самого начала. – no1cobla