У меня есть таблица где-то в моем HTML и Pagination, которая загружает следующую страницу с помощью ajax. При загрузке данных я хочу наложить div с помощью индикатора выполнения Bootstrap.Bootstrap Table loading progressbar overlay
function loadingTable(divID) {
\t var html = " <div class='table-loading-overlay'>"
\t \t + " <div class='table-loading-inner'>"
\t \t + "<div class=\"col-xs-4 col-xs-offset-4\">"
\t \t + "<div class=\"progress\"> "
\t \t + "<div class=\"progress-bar progress-bar-striped progress-bar-streit active\" role=\"progressbar\" aria-valuenow=\"100\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 100%\">"
\t \t + " <span class=\"sr-only\">Loading...</span>"
\t \t + " </div>"
\t \t + " </div>"
\t \t + " </div>"
\t \t + " </div>"
\t \t + " </div>";
\t $('#' + divID).append(html);
}
function prevPage(){}
function nextPage(){}
.table-loading-inner {
width: 100%;
height: 100%;
}
.table-loading-overlay {
width: 100%;
height: 100%;
position: relative;
display: block;
z-index: 10;
background: #000000;
z-index: 100;
opacity: 0.5;
}
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="userList">
\t \t \t <table class="table table-striped table-hover">
\t \t \t \t <thead>
\t \t \t \t <tr>
\t \t \t \t \t <th>Name</th>
\t \t \t \t \t <th>Status</th>
\t \t \t \t </tr>
\t \t \t \t </thead>
\t \t \t \t <tbody>
\t \t \t \t \t <tr>
<td>Test 1</td>
<td>active</td>
</tr>
\t \t \t \t \t <tr>
<td>Test 2</td>
<td>active</td>
</tr>
\t \t \t \t \t <tr>
<td>Test 3</td>
<td>active</td>
</tr>
\t \t \t \t \t <tr>
<td>Test 4</td>
<td>active</td>
</tr>
\t \t \t \t \t <tr>
<td>Test 5</td>
<td>active</td>
</tr>
\t \t \t \t </tbody>
\t \t \t </table>
\t \t \t <div>
\t \t \t \t <span style="float:right;"> 10 Users <i class="fa fa-list"></i></span>
\t \t \t </div>
\t \t \t <div class="paginator">
\t \t \t \t <span class="btn btn-default" onclick="prevPage();loadingTable('userList');"> prev</span>
\t \t \t \t <span class="btn btn-default" onclick="nextPage();loadingTable('userList');">next</span>
\t \t \t </div>
\t \t </div> \t \t
Как получить table-loading-overlay
над столом? Поскольку таблица может быть везде в HTML, я не могу использовать абсолютную позицию ...
Ну, что работает, но я хотел бы иметь накладку только за столом, а не по полной странице ... – YAT
Вы можете легко установить фиксированные, расположенные родитель высоту с помощью JQuery в ' css' способ. Вы уже переходите в таблицы parent 'id' к своей функции, так что вы можете сделать почти что угодно, чтобы наложить, чтобы он выглядел так, как вы хотите. Я отредактировал свой ответ. Но почему вы не хотите, чтобы div * userList * div относился к позиции и имел ли оверлей абсолютный? Просто любопытство. – DavidDomain