在AJAX完成后调用window.load函数

时间:2013-11-22 15:53:37

标签: jquery ajax

我正在使用wordpress主题,它有很多样式选项等,由header.php文件读取,并根据它进行样式和一些js的东西。例如,以下是它的样子片段:

jQuery(window).load(function($) {
<?php if($data['blog_pagination_type'] == 'Infinite Scroll' || is_page_template('demo-gridblog.php')  || is_page_template('demo-timelineblog.php')): ?>
    jQuery('#posts-container').infinitescroll({
        navSelector  : "div.pagination",
                       // selector for the paged navigation (it will be hidden)
        nextSelector : "a.pagination-next",
                       // selector for the NEXT link (to page 2)
        itemSelector : "div.post",
                       // selector for all items you'll retrieve
        errorCallback: function() {
            jQuery('#posts-container').isotope('reLayout');
        }
    }
    });
});

这是一个片段,但还有很多。这是在我的header.php文件中。然后我在custom.js文件中执行一些AJAX调用。它看起来像这样:

var term_id = $(this).attr('id');
$.ajax({
  url: ajaxurl,
  type: "POST",
  async: true,
  cache: true,
  data: {
    action: 'show_blog',
    term_id: term_id
  },
  success: function(data) {   
      jQuery(window).load();
      $('.blog-wrapper').fadeOut(1000, function() {
          $('.blog-wrapper').html(data);
          $(".blog-wrapper").fadeIn(1000);
      });
  }
});

我尝试使用jQuery(window).load();但是我的header.php文件中的JS没有被触发。如何在AJAX调用后重新触发header.php文件中的window.load代码?我是否需要将其置于不同的功能中,然后执行以下操作:

jQuery(window).load(function($) {
    do_styling_function();
});

然后在我的AJAX电话中,我也可以拨打do_styling_function();

1 个答案:

答案 0 :(得分:2)

只需按常规方式触发onload事件:

jQuery(window).trigger('load');