Slyweb
На разработку сайта! Скидки 50%!

Сначала сформировать элемент, а затем добавить его в DOM?

Вы можете задавать любые вопросы по jQuery.

Сначала сформировать элемент, а затем добавить его в DOM?

Сообщение bobroff » 04 дек 2009, 15:22

Здравствуйте. Вопрос следующий. Сейчас, например, у меня следующая схема добавления элемента:
1. В таблицу добавляется строка;
2. В строки добавляются ячейки;
3. В ячейку добавляется элемент select;
4. Создание и получение ответа от ajax запроса;
5. Добавление option в select из результатов ajax запроса.
Минус данного варианта в том, что элемент в DOM добавляются быстро, а ajax запрос работает медленнее и добавление элемента визуально получается не моментальным, а поэтапным.

Можно ли как-то сделать добавление по следующей схеме:
1. Создание отдельного элемента строки таблицы (не вставленного в DOM);
2. Добавление в него ячеек;
3. В ячейку добавляется элемент select;
4. Создание и получение ответа от ajax запроса;
5. Добавление option в select из результатов ajax запроса.
6. Добавление полностью сформированной строки в DOM.
bobroff
 
Сообщения: 26
Зарегистрирован: 01 дек 2009, 23:40

Re: Сначала сформировать элемент, а затем добавить его в DOM?

Сообщение admin » 04 дек 2009, 16:06

Используйте функцию jQuery.ajax, вновь создаваемые элементы скрывайте с помощью display:none; После выполнения, успешного запроса, измените свойство display:none; для всех элементов, с помощью jquery функций(fadeIn,show).

jQuery.ajax({
url: "test.html",
cache: false,
success: function(html){
$("#results").fadeIn(html);
}
});
admin
Администратор
 
Сообщения: 165
Зарегистрирован: 15 авг 2009, 20:02

Re: Сначала сформировать элемент, а затем добавить его в DOM?

Сообщение bobroff » 04 дек 2009, 19:52

admin писал(а):Используйте функцию jQuery.ajax, вновь создаваемые элементы скрывайте с помощью display:none; После выполнения, успешного запроса, измените свойство display:none; для всех элементов, с помощью jquery функций(fadeIn,show).

jQuery.ajax({
url: "test.html",
cache: false,
success: function(html){
$("#results").fadeIn(html);
}
});


Спасибо. Тоже придумал такой вариант, но решил спросить, вдруг есть какой-то специальный метод для этого.
bobroff
 
Сообщения: 26
Зарегистрирован: 01 дек 2009, 23:40

Re: Сначала сформировать элемент, а затем добавить его в DOM?

Сообщение admin » 04 дек 2009, 20:50

В jquery наверно нет, но в javascript наверняка есть. Если построить функции, выполняемые в зависимости от выполнения предыдущих функций.
admin
Администратор
 
Сообщения: 165
Зарегистрирован: 15 авг 2009, 20:02


Вернуться в Вопросы по jQuery

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron