Jquery ajax导航,等待图像加载的更好方法?

时间:2016-12-29 16:03:58

标签: javascript jquery ajax wordpress

我在这个网站上有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);
});

1 个答案:

答案 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