0
我使用ul
容器,其具有一些li
項創建導航結構和li
元件具有與toggle
類<a>
元件。 <a>
元素下面還有ul
類別名稱爲inner
的容器。我正在做的是當我點擊任何一個點擊事件的<a>
元素。在這種情況下,我計算inner
類的所有兒童的身高,但是當我想將該計算高度設置爲該內部類的css屬性時,它不會完全展開。嵌套元素高度不能正確地計算
見代碼:
function CallBackFunction() {
var elm = $(this);
var height = 0;
elm.next().children().each(function() {
height = height + $(this).outerHeight(true);
});
elm.next().css('max-height', height);
}
$('.toggle').click(CallBackFunction);
.parent {
border: 1px solid black;
}
.inner {
max-height: 0;
overflow: hidden;
transition: max-height 300ms ease-in-out;
}
a:hover {
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<html lang="en">
<head>
</head>
<body>
<ul class="parent">
<li>
<a class="toggle">Link 1</a>
<ul class="inner">
<li>
<p>Dummy Text</p>
</li>
<li>
<a class="toggle">Nested Link</a>
<div class="inner">
<p>Again Dummy Text</p>
</div>
</li>
</ul>
</li>
</ul>
</body>
</html>
但設置爲浮動後;左點擊'Nested Link'後不會展開。 –
這是因爲,前面的點擊已經爲'ul.inner'設置了'max-height:68px;' – Amal
但是當點擊任何'toggle'類元素時,高度被重置 –