2012-06-19 48 views
0

我创建了一个“加载更多”链接,通过AJAX调用加载下100个条目。 我的AJAX调用看起来是这样的:Ajax'加载更多'功能不适当加载colorbox

<script type="text/javascript"> 
    function HideButton(){ 
     $('#load_post').css('display', 'none') 
    } 
    $.ajaxSetup ({ 
     cache: false 
    }); 
    var ajax_load = "<div class='loading_wrapper'><img class='loading' src='<?php echo url(); ?>images/ajax-loader.gif' alt='loading...' /></div>"; 
    var loadUrl = "http://www.mydomain.com/loadmore.php"; 

    $("#load_post").click(function(){ 
     $("#result") 
      .html(ajax_load) 
      .load(loadUrl, {exclude: "<?php echo $exclude_more_post_str; ?>"}, 
      function() { 
      $('#load_post').css('display', 'none'); 
      }); 
    }); 
</script> 

的loadmore.php代码只是从数据库中检索,这是几乎相同的查询为主要页面只是一个偏移接下来的100项。

它正确加载100个条目,但它不会将它加载到我的colorbox iframe中。在通过AJAX加载更多内容之前,第一个条目可以正常工作,但AJAX加载的100个条目不会将该页面加载到colorbox中,即使它具有附加到和href的正确类。

当按下应该在colorbox iframe中打开的条目时,它只显示页面,例如, http://www.mydomain.com/single-entry/this-is-the-post-suppose-to-open-in-colorbox/

是否有一些特殊的属性我错过了运行AJAX调用,所以我需要重新加载colorbox。我试过但在页眉和页脚的Colorbox javascript,但结果是一样的。

如果我已经解释过自己不清楚,请告诉我,我会尽力澄清。

真诚
- Mestika

+0

我不知道你是问。你说你正在使用带有iframe的colorbox。哪里是?你想要注入html吗? – Jack

回答

0

如果你想显示loadmore.php的内容,或其他网址,为颜色框iframe中尝试改变它的插件容器(i.ex的href属性:<a class="loadmore" href=""/> .. 。或者任何你称之为的),并抛出点击事件(如果以前已初始化)。

$("#load_post").click(function(){ 
     $(".loadmore").attr('href', "http://www.mydomain.com/loadmore.php").click(); 
    }); 

你甚至可以链中的初始化方法在.loadmore标签这样的:

$("#load_post").click(function(){ 
      $(".loadmore").attr('href', "http://www.mydomain.com/loadmore.php") 
.colorbox({iframe:true, width:"80%", height:"80%"}).click(); 
     }); 

我希望它会