砌体不起作用

时间:2014-06-21 14:31:19

标签: javascript jquery html css masonry

我想在我的代码上使用Masonry级联网格布局库,但它不起作用。

样式表:

.post {
    background: #FFF;
    padding: 10px;
    border-bottom: 3px solid #e6e6e6;
    width: 30.7%;
    margin: 10px;
}

源代码:

<div id="content">
    <?php
    for($i = 1; $i <= 12; $i++) {
    ?>
    <div class="post fleft">
        <div class="title bbottom">
            <div class="fright">
                <div class="avatar fright" style="background-image: url(images/avatar.png)"></div>
                <span class="fright">سید امیرحسین رهنمافرد</span><br />
                <span class="fright">روشن</span>
            </div>
            <div class="fleft">
                <span class="fleft">14 خرداد 93 |  20:22</span><br />
                <span class="fleft">غزل در دیوان غزلیات</span>
            </div>
            <div class="clear"></div>
        </div>
   </div>
   <?php } ?>
    <script src="<?php echo ROOT ?>/scripts/jquery-1.11.0.min.js"></script>
    <script src="<?php echo ROOT ?>/scripts/masonry.pkgd.min.js"></script>
    <script src="<?php echo ROOT ?>/scripts/loggedIn.js"></script>

脚本(loggedIn.js):

$(document).ready(function($){
    var $container = $('#content');
    $container.masonry({
      columnWidth: 200,
      itemSelector: '.post'
    });
});

我确定地址的完整性,但问题是什么?

修改

奇怪的是,当我向JS代码添加警报时,它正常工作!

$(document).ready(function($){
    var $container = $('#content');
    alert($container.html());
    // initialize
    $container.masonry({
      columnWidth: 100,
      itemSelector: '.post'
    });
});

1 个答案:

答案 0 :(得分:4)

您可以使用此代码:

$(document).ready(function($){
    var $container = $('#content');
    setTimeout(function(){
        // initialize
        $container.masonry({
          columnWidth: 100,
          itemSelector: '.post'
        });
    }, 200);
});

注意: 如果您使用$ .getScript函数,则会发生此问题。