我在这个网站上有ajax导航,我有一个预加载器黑点,显示4秒钟后消失。有没有更好的方法让它等到至少加载第一张图像,或者全部?
这是我的网站:http://www.joe-tsao.com/
这是预加载器的代码
var id = jQuery(this).parent().attr('data-id');
var ajaxurl = admin_ajax.admin_url + 'admin-ajax.php';
var data = {
'action': 'hb_load_page',
'id': id
};
// since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
jQuery.post(ajaxurl, data, function(html) {
jQuery('.page-details').html('<div class="row">' + html + '</div>');
setTimeout(function() {
jQuery('.hb-loader').hide();
}, 4000);
});
答案 0 :(得分:1)
您可以使用.done
方法,如官方文档中所示:
jQuery.post(ajaxurl, data, function(html) {
jQuery('.page-details').html('<div class="row">' + html + '</div>');
}).done(function(data){
jQuery('.hb-loader').hide();
});
https://api.jquery.com/jquery.post/#jQuery-post-url-data-success-dataType