Добрый день.
Рони, хотел бы попросить вас о помощи вновь.
Я в ходе тестирования кода, с которым вы мне помогли, понял, что не учел один нюанс: когда закрывается спойлер, то при повторном и последующем открытии я ожидал что будет формироваться новый запрос к серверу, для получения новых данных.
Вы не могли бы помочь с этим?
задача вроде бы простая, но я попробовал сам - поставил дебаг alert("sp_text:" + spoiler.text);
что за текст там записан? у меня такого кода нет.
Можете разъяснить в чем фокус тут с str переменной?
и что обозначает это логическое выражение "if(text) " ? проверка на пустоту?
Вот код, который я сделал:
$(function () {
$(".b_ad").on("click", ".b_button_responds", function (event) {
event.preventDefault();
var parent = event.delegateTarget,
id = parent.id,
spoiler = $('.spoiler-block', parent),
text = spoiler.text(),
str = "загрузка...";
if (text) {
spoiler.slideToggle(300);
spoiler.text("");
}
else if (text != str) {
spoiler.text(str);
$.post("RespondsList"
, {AdId: id}
, function (data) {
spoiler.html(data);
})
}
})
});
Собственно я лишь добавил spoiler.text("");, для очистки, чтобы далее формировался запрос к серверу. Проблема в том, что после первого сворачивания, послеующие развертывания спойлера работают с третьего раза. Почему так?
и еще я бы хотел спросить, на далекое будущее - если я вдруг захочу сделать анимацию загрузки (крутящийся кружочек или еще что), правильно ли я понимаю, что вместо строки spoiler.text(str); мне следует вызывать эту самую анимацию?