Кажется нашел решение:
JavaScript:
function show(ele) {
var srcElement = document.getElementById(ele);
if(srcElement) {
if(srcElement.style.display == "block") {
srcElement.style.display= 'none';
}
else {
srcElement.style.display='block';
}
}
}
HTML-код:
<div class="headline" onclick="show('cat1')">Заголовок</div>
<div class="hidden" id="cat1">Текст раскрывающегося блока</div>
Скрытый блок вывожу ровно над заголовочным, из-за этого кажется что блок расширяется. Как бы сделать чтобы плавнее разворачивался?..