Ajax'加载更多'功能没有正确加载colorbox

时间:2012-06-19 11:11:51

标签: php jquery ajax modal-dialog colorbox

我创建了一个“加载更多”链接,通过AJAX调用加载接下来的100个条目。 我的AJAX调用如下所示:

<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个条目不会在彩色框内加载页面,即使它具有附加到 a href 的正确类。

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

运行AJAX调用时是否有一些我遗漏的特殊属性,所以我需要重新加载颜色框。我试过但是在页眉和页脚中只有Colorbox javascript,但结果是一样的。

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


- 梅斯蒂卡

1 个答案:

答案 0 :(得分:0)

如果要将colormore.php或其他网址的内容显示到颜色框iframe中,请尝试更改其插件容器的href属性(i.ex:<a class="loadmore" href=""/> ...或者您称之为的任何内容)并抛出click事件(如果先前已初始化)。

$("#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();
        });

我希望它会