Показать сообщение отдельно
  #11 (permalink)  
Старый 14.07.2018, 17:54
Интересующийся
Отправить личное сообщение для wolfio Посмотреть профиль Найти все сообщения от wolfio
 
Регистрация: 10.02.2018
Сообщений: 22

Добрый день.
Рони, хотел бы попросить вас о помощи вновь.
Я в ходе тестирования кода, с которым вы мне помогли, понял, что не учел один нюанс: когда закрывается спойлер, то при повторном и последующем открытии я ожидал что будет формироваться новый запрос к серверу, для получения новых данных.

Вы не могли бы помочь с этим?
задача вроде бы простая, но я попробовал сам - поставил дебаг 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); мне следует вызывать эту самую анимацию?

Последний раз редактировалось wolfio, 14.07.2018 в 18:03.
Ответить с цитированием