目前,我的代码显示一个加载微调器gif,返回数据并缓存它。但是,一旦数据被缓存,在加载数据之前,加载gif会闪烁一秒钟。它让人分心,我想把它处理掉。我想我用错方法了
beforeSend
此处的函数:
$.ajax({
type : "GET",
cache : false,
url : "book_data.php",
data : { keywords : keywords, page : page },
beforeSend : function() {
$('.jPag-pages li:not(.cached)').each(function (i) {
$('#searchResults').html('<p id="loader">Loading...<img src="../assets/images/ajax-loader.gif" alt="Loading..." /></p>');
});
},
success : function(data) {
$('.jPag-current').parent().addClass('cached');
$('#searchResults').replaceWith($(data).find('#searchResults')).find('table.sortable tbody tr:odd').addClass('odd');
detailPage();
selectForm();
}
});
编辑:
var timeout = setTimeout(function(){
$('#searchResults').html('<p id="loader">Loading...<img src="../assets/images/ajax-loader.gif" alt="Loading..." /></p>');
}, 500 );
$.ajax({
type : "GET",
cache : false,
url : "book_data.php",
data : { keywords : keywords, page : page },
beforeSend : function() {
timeout;
},
success : function(data) {
clearTimeout(timeout);
$('.jPag-current').parent().addClass('cached');
$('#searchResults').replaceWith($(data).find('#searchResults')).find('table.sortable tbody tr:odd').addClass('odd');
detailPage();
selectForm();
}
});