2015-12-09 3 views
1

Я заполняю большие данные JSON на Jtable. Загрузка занимает около 1 минуты. Я хочу показать индикатор выполнения до полной загрузки страницы. Я прошел через некоторое решение Stackoverflow, но не работает для своей проблемы.показывает индикатор выполнения или загружает значок до полной загрузки страницы?

records = eval(objLangugaeTranslatorExt.listRecords(self._lastPostData)); 
       data['Records'] = records; 
       data['TotalRecordCount'] = Object.keys(records).length; 
       self._removeAllRows('reloading'); 
       self._addRecordsToTable(records);//Here I add the records to table taking too much time. 

Пожалуйста, помогите мне с этим,

Заранее спасибо.

ответ

0

Не используйте eval()! Это опасно для использования на пользовательских данных.

Вы можете сделать одну вещь, в вашем _addRecordsToTable() функции, показать загрузки DOM элемент:

$(".loading").show(); 

И после того, как код загрузки, вы можете поместить:

$(".loading").hide(); 

И для HTML:

<div class="loading"></div> 

Сразу после знака <body>. И в CSS:

.loading {position: fixed; left: 0; top: 0; bottom: 0; right: 0; background: url("loading.gif") center center no-repeat rgba(0, 0, 0, 0.25);} 
+0

Благодарим за помощь. Проблема заключается в ее очень большом приложении. Я не писал эту функцию _addRecordsToTable(). Как я могу поместить эту $ (". Loading"). Show(); –

+0

@ArunFebi либо вам нужно показать нам полную треску где-то, либо вам нужно написать эту функцию ... –

+0

Это функция: _addRecordsToTable: function (records) { alert (records); var self = this; $ .each (записи, функция (индекс, запись) { self._addRowToTable (self._createRowFromRecord (запись)); }); self._refreshRowStyles(); } –

Смежные вопросы