高级AJAX页面加载器和砖石网格

时间:2013-06-10 作者:Ilja

我正在使用高级Ajax页面加载器插件和Masonry。这两种方法都可以,但是一旦通过ajax加载了新内容,Maonry就无法应用。你可以在这里看到http://wxperimental.musicglaze.com 一旦你第一次加载它,你可以看到砖石正在发生(每个帖子是分开的),但在侧边栏中键入“a”搜索并查找它。将通过ajax加载新内容,并且不会应用masonry。

我尝试在高级Ajax页面加载器插件的设置中粘贴我的砌体代码以“重新加载代码”部分,但没有成功。

我的砌体规范。

jQuery( document ).ready( function( jQuery ) {
    // Check if container exists
    if (jQuery("#content").length > 0) {
              var e = function() {
                      var e = jQuery("#content"),
                          t = function() {
                              r();
                              i();
                              s()
                          },
                          r = function() {
                              // Some stuff for responsive layout
                              var e = jQuery(window).width();
                              if (e <= 1125) n = 1;
                              else n = 2
                          },
                          i = function() {
                              // On resize apply masonry again
                              jQuery(window).on("smartresize.MusicGrid", function(e) {
                                  r()
                              })
                          },
                          s = function() {
                              e.imagesLoaded(function() {

                                      e.masonry({
                                          itemSelector: ".article",
                                          columnWidth: function(e) {
                                              return e / n
                                          },
                                          isAnimated: false
                                      })

                              })
                          };
                      return {
                          init: t
                      }
                  }();
              e.init();
          }

          // This is to apply Masonry for jetpack infinite scroll
          jQuery( document.body ).on( \'post-load\', function () {
        var jQuerycontainer = jQuery(\'#content\');


        jQuerycontainer.masonry( \'reload\' );

        });

});

1 个回复
最合适的回答,由SO网友:Amit Kumar Gupta 整理而成

这个问题与wordpress无关,而是与javascript的行为有关。

您需要等待ajax调用完成,然后重新启动。您可以通过在javascript中放入“console.log()”来确认它。

结束

相关推荐

我的页面上未显示AJAX Ready状态更改

我一直在尝试获得一个独立的网页,我使用它重建为可以在我的博客中访问的页面。根据建议,我为这个页面创建了一个新模板,并在那里完成了我的所有工作。页面正确地记住了$_会话,php运行良好。在此页面上有下拉框,用于更新其他下拉框。如果我手动更新,一切都会很好。当我尝试引入我的ajax调用时,事情变得不稳定。目前正在更新。php只是回应“你好”。<script> function changeFn( ) { var newOpt = document.createElement(\