Добавить состояние к вашему динамически измененному html.
Существуют различные подходы. В следующем коде используется значение css свойства maxHeight
для div, чья видимость переключена, свойство, которое в любом случае изменяется при превращении текста в видимый.
Это не самый чистый способ сделать это но покажет принцип и сохранит минимальные изменения в данном коде:
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>