В настоящее время у меня есть проблема с эффектом jQuery slideToggle () для строки таблицы с вложенной таблицей.
У меня есть следующая разметка HTML:
<table>
<tbody>
<tr>
<th>One</th>
<th>Two</th>
<th>Three</th>
</tr>
<tr class="show-details">
<td>Item1</td>
<td>Item2</td>
<td>Item3</td>
</tr>
<tr class="details">
<td colspan="3">
<table>
<tbody>
<tr>
<td>Lorem Ipsum</td>
<td>Ipsum Lorem</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class="show-details">
<td>Item1</td>
<td>Item2</td>
<td>Item3</td>
</tr>
<tr class="details">
<td colspan="3">
<table>
<tbody>
<tr>
<td>Lorem Ipsum</td>
<td>Ipsum Lorem</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
Я хочу сразу скрыть строку сведений и показать ее с помощью функции slideToggle ().У меня есть следующий код JQuery:
$(function() {
$(".details").hide();
$('.show-details').click(function(e){
$(this).next(".details").slideToggle(500);
$("td > span", this).toggleClass('open')
});
});
Проблема в том, что строка выходит из отображения: нет;для отображения: таблица-строка;что приводит к display:none;
до display:block;
до display:table-row;
.Затем эффект переходит к блоку отображения, затем анимирует высоту строки (+ переполняет ее на тонну, поэтому следующая строка спрыгивает вниз на несколько секунд), а затем, наконец, превращается в display:table-row;
, когда анимация заканчивается.
Любые предложения, чтобы эффект работал с простым слайд-тогглом для отображения строки .detail
?
Я попробовал ответы в на этот вопрос , но безуспешно.