0

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 個のエントリが正しく読み込まれますが、カラーボックスの iframe には読み込まれません。AJAX 経由でさらにロードする前の最初のエントリは正常に動作しますが、AJAX によってロードされた 100 個のエントリは、 a hrefに適切なクラスがアタッチされていても、カラーボックス内のページをロードしません。

カラーボックス iframe で開く必要があるエントリを押すと、ページが表示されるだけです。 /

AJAX 呼び出しの実行中に見逃した特別なプロパティがあるので、カラーボックスをリロードする必要があります。ヘッダーとフッターの両方に Colorbox javascript を試しましたが、結果は同じです。

私が自分自身を不明確に説明した場合は、お知らせください。明確にするよう努めます。

誠実
- メスティカ

4

1 に答える 1

0

loadmore.php やその他の URL のコンテンツをカラーボックスの iframe に表示したい場合は、そのプラグイン コンテナーの href 属性を変更してみてください (例: <a class="loadmore" href=""/>... またはそれを呼び出すものは何でも)、クリック イベントをスローします (if以前に初期化されています)。

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

そうなることを願っています

于 2012-06-19T12:10:44.087 に答える