jquery masonry在初始页面加载时崩溃,单击“主页”菜单按钮后工作正常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery masonry在初始页面加载时崩溃,单击“主页”菜单按钮后工作正常相关的知识,希望对你有一定的参考价值。

我的jquery砌体设置在初始页面加载时奇怪地工作。它似乎将第一行中的图像放在第一行中,第二行与第一行重叠,第三行相同。页面加载后,您可以单击主页按钮或徽标并重新加载页面,它工作正常。

我在functions.php中有这个代码,用于将masonry和jquery脚本放入:

if (!is_admin()) {
    wp_enqueue_script('jquery');
    wp_register_script('jquery_min', get_template_directory_uri(). '/js/jquery.min.js', array('jquery'), '1.6.1' );
    wp_enqueue_script('jquery_min');
    wp_enqueue_script('jquery');
    wp_register_script('jquery_masonry', get_template_directory_uri(). '/js/jquery.masonry.min.js', array('jquery'), '2.1.06' );
    wp_enqueue_script('jquery_masonry');
}

这个脚本在head.php中:

<?php if (is_page(2)) { ?>
    <script>
        $(function(){
            $('#content').masonry({
                // options...
                itemSelector : '.product',
                columnWidth : 310,
                isAnimated: true,
                animationOptions: {
                    duration: 700,
                    easing: 'linear',
                    queue: false
                }
            });
        });
    </script>
<?php } ?>

这是site的链接。

任何想法为什么这在初始页面加载时奇怪地加载?

我很擅长编写任何东西,所以请善待。

答案

我认为这是因为脚本在内容(图像)完全加载之前运行。因此定位错误。

试试这个。

  $(window).load(function()
  {
      $('#content').masonry({
           itemSelector : '.product',
           columnWidth : 310,
           isAnimated: true,
           animationOptions: {
                duration: 700,
                easing: 'linear',
                queue: false
           }
      });
  });
另一答案

我也有类似的问题,图像在第一次加载时重叠。我通过首先加载图像来克服这个问题。

$(".id").imagesLoaded(function(){
$('.id').masonry({
                itemSelector: '.scrapcontent',
                columnWidth: 3,
                isAnimated:true,
                animationOptions: {
                    duration: 700,
                    easing:'linear',
                    queue :false
               }
         });
}

如果图像被加载,那么只有你的砌体的职责必须开始。它应该工作正常。

Thanges,Vidhavakasi Sivanesan

以上是关于jquery masonry在初始页面加载时崩溃,单击“主页”菜单按钮后工作正常的主要内容,如果未能解决你的问题,请参考以下文章

Masonry jquery 为啥js字符串中的斜杠被自动替换掉了

jQuery Mobile 面板在页面完全加载之前在初始加载时显示,速度较慢的设备

jQuery页面加载初始化常用的方法

列表视图在 jQuery mobile/phonegap 中初始时未加载

使用masonry创建瀑布流,图片加载导致渲染重叠解决方案

jQuery瀑布流简单实现(imagesloaded+masonry)