3 回答
TA贡献1780条经验 获得超3个赞
您可以尝试使用 block/none 样式属性来隐藏或显示元素。您可以在事件侦听器函数上使用布尔值并运行 if/else 循环在“-”和“+”之间切换。希望这对您有所帮助,如果您需要更多帮助,请随时联系我!
TA贡献1841条经验 获得超3个赞
您可能想使用 display 属性来隐藏/显示元素。像这样:
<div id = 'Div1'
style = 'height: 30px; width: 100%; margin: 0; padding: 0; border: 1px solid #7f7f7f; padding-left: 25px; font-size: 15px; color: #666666;
border-top-left-radius: 5px; border-top-right-radius: 5px;
display: flex; flex-direction: row; text-align: left; align-items: center; justify-content: left; position: relative;'>
Header
<div id = 'Div2'
onclick = "{
var GetText = document.getElementById('Div2').innerHTML;
if (GetText == '−') {
document.getElementById('Div1').style.borderBottom = '0px';
document.getElementById('Div3').offsetHeight = 1;
document.getElementById('Div3').style.height = '100px';
document.getElementById('Div2').innerHTML = '+';
} else {
document.getElementById('Div1').style.borderBottom = '1px';
document.getElementById('Div3').offsetHeight = 'auto';
document.getElementById('Div3').style.height = '0px';
document.getElementById('Div2').innerHTML = '−';
}
};"
style = 'margin: 0; padding: 0; position: absolute; right: 0; top: 0; height: 30px; width: 30px; color: #999999; cursor: pointer;
display: flex; flex-direction: row; text-align: center; align-items: center; justify-content: center; background-color: rgba(0,0,0,.0);'>
−
</div>
</div>
<div id = 'Div3'
style = 'height: auto; width: 100%; margin: 0; padding: 0; overflow: hidden; border: 1px solid #7f7f7f; border-top: 0px;
border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; '>
<div style = 'height: auto; mim-height: 0px; width: 100%; margin: 0; padding: 0; padding: 12px; font-size: 15px; color: #666666;
text-align: left; '>
Answer
</div>
</div>
更新:
您可以使用 height 属性,而不是使用 style 属性:
document.getElementById('Div3').style.height = '100px';
document.getElementById('Div3').style.height = '0px';
TA贡献1898条经验 获得超8个赞
请更换
document.getElementById('Div3').offsetHeight = 1;
到
document.getElementById('Div3').style.height = '1px';
和
document.getElementById('Div3').offsetHeight = 'auto';
到
document.getElementById('Div3').style.height = 'auto';
- 3 回答
- 0 关注
- 102 浏览
添加回答
举报