Я использую $ .get (), чтобы получить некоторые элементы из php-скрипта, а затем показать результаты, «записав» их в div.Это делается периодически, а также при нажатии на элемент div или при перезагрузке страницы.Вот код:
function fetchnew(){
var status = $J.cookie("status_on");
if (status == 'on'){
//fetch new items
//results from new-items.php have this format:
//<p>Item1</p><p>Item2</p>...
$J.get(modulebaselink+'new-items.php', '', function(newitems){
$J('#content').html(newitems);
updatestatus();
});
}
fetchnew_timeout = setTimeout('fetchnew();', refresh_rate);
}//end fetchnew()
function updatestatus(){
var status = $J.cookie("status_on");
if (status == 'on'){
//Show number of loaded items
var totalItems=$J('#content p').length;
$J('#status').html("Items ("+totalItems+")");
}
}
Моя проблема в том, что содержимое #status отображается с некоторой задержкой после перезагрузки страницы.Когда страница загружается, я получаю «Items (0)» в течение ~ 1 секунды, а затем 0 изменяется на реальное значение.Есть ли способ аннулировать «Items (0)» перед отображением реального значения?Или, по крайней мере, кэшируйте предыдущее значение и отображайте «Items (old_value)» вместо «Items (0)» до появления «Items (new_value)».Я попробовал куки, чтобы сделать последний, но 'Items (0)' был там снова ...