Извините, еще один вопрос, можно ли как-то идентифицировать состояние дива (закрыт с неподгруженным контентом | открыт | закрыт с подгруженным контентом) кроме того способа, что испытал я (по высоте дива, и наличию хоть какой-то строки в нем)
Сейчас у меня получился такой код, и не получается расскрыть див с уже имеющимся контентом.
function topic(a, b) {
//Тут див закрывается, если он открыт
if (($("#"+b).text() !== '') && $("#"+b).css("height") !== 0){
$("#"+b).css("overflow", "hidden");
$("#"+b).animate({height: 0}, 500,function(){
$("#"+b).children().hide()
})
return;
}
//Тут див должен открыться с уже имеющимся контентом
if ($("#"+b).children().hide()){
$("#"+b).css("height", "0px");
$("#"+b).css("overflow", "auto");
$("#"+b).animate({height: $("#"+b)[0].scrollHeight}, 500,function(){
$("#"+b).children().show()
})
return;
}
//Тут див открывается, подгружая контент
$("#"+b).css("height", "0px");
$("#"+b).css("overflow", "auto");
$("#"+b).html("Загрузка...");
$("#"+b).children().show();
$.ajax({
type: "POST",
url: "doit.php",
data: "id="+a,
success: function(msg){
$("#"+b).html(msg);
$("#"+b).animate({height: $("#"+b)[0].scrollHeight}, 500,function(){
$("#"+b).children().show()
})
}
});
}