3 回答

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
將狀態(tài)添加到動(dòng)態(tài)更改的 html 中。
有多種方法。以下代碼使用可見性已切換的 div 上的 css 屬性 maxHeight 的值,該屬性在將文本變?yōu)榭梢姇r(shí)無(wú)論如何都會(huì)更改。
這不是最干凈的方法,但會(huì)顯示原理并盡量減少對(duì)給定代碼的更改:
function slide(){
if (parseInt(document.getElementById("sliding").style.maxHeight) === 0) {
document.getElementById("sliding").style.maxHeight = "1000px";
} else {
document.getElementById("sliding").style.maxHeight = "0px";
}
}
#sliding{
transition: 0.5s;
max-height: 0px;
overflow: hidden;
}
<button onclick ="slide();" class="btn btn-primary">ADD COMMENT</button>
<div id = "sliding">
<p>TEST</p>
</div>

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以在函數(shù)中包含一個(gè)檢查,以查看當(dāng)前的 maxHeight 是什么,并根據(jù)結(jié)果更改 maxHeight 的狀態(tài)。如果您決定稍后更改 maxHeight,請(qǐng)使用不等式運(yùn)算符,如下所示。
function slide(){
elem = document.getElementById("sliding");
elemHeight = elem.style.maxHeight;
elemHeight.replace("px", "");
if (elemHeight > "0") {
elem.style.maxHeight = "0px";
}
else {
elem.style.maxHeight = "1000px";
}
}

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
您可以使用 classList.toggle 方法。
function slide(){ document.getElementById("sliding").classList.toggle('sliding-show')
}
#sliding{
transition: 0.5s;
max-height: 0px;
display: none;
}
#sliding.sliding-show {
display: block;
max-height: 1000px;
}
<button onclick ="slide()" class="btn btn-primary">ADD COMMENT</button>
<div id="sliding">
<p>TEST</p>
</div>
- 3 回答
- 0 關(guān)注
- 186 瀏覽
添加回答
舉報(bào)