0

我已经启动了一个站点,但 Jquery Masonry 仍然存在问题。我已经阅读了几乎所有关于使用 Document Ready 与 Window Load 的帖子。除了包含我的问题答案的帖子之外的所有人。

这是网站:http ://www.buckysspecialspice.com

有时负载很好。今天它没有。

我的函数文件是这样的。如果我使用 Document Ready,则帖子块有时会合并在一起,直到调整浏览器大小为止。如果我使用 Window Load 所有帖子块按行加载。

任何建议都会很棒。

// MASONRY

function anaximander_masonry() {
if (!is_admin()) {
    wp_register_script('jquery_masonry', get_template_directory_uri(). '/js/jquery.masonry.min.js', array('jquery'), '2.0.110526' );
    wp_enqueue_script('jquery_masonry');
    add_action('wp_footer', 'anaximander_add_masonry');

    function anaximander_add_masonry() { ?>
        <script>
            jQuery(window).load(function($){
              var $container = $('img');

                $container.imagesLoaded(function(){
                    $('#masonry-index').masonry({
                        itemSelector: '.index-post-container',
                        isAnimated: true,
                      columnWidth : 3
                    });
                });
            });
        </script>
    <?php 
    }
}
}

add_action('init', 'anaximander_masonry');
4

1 回答 1

0

@author您可能想要$(window).load,因为它会在发射之前等待所有内容(包括图片)加载,然后通过砌体重新排列东西。但是.imagesLoaded 是什么?它只是在选择器中的图像加载后触发回调吗?为什么有那个和 $(window).load?

另外,我会使用“jQuery”而不是“$”,因为它似乎不起作用(编辑:有人打败了我)

于 2013-02-05T17:03:32.463 回答