帮助Jquery / Masonry,小调整

时间:2011-03-08 22:59:38

标签: jquery plugins height

对于我的生活,我可以;弄清楚到底发生了什么。我缺乏Jquery知识可能与它有关......

看看这个:http://jsfiddle.net/ryanjay/fgNMJ/

当页面加载时,每张照片之间存在高度差异。当您单击照片并展开时,底部的照片会重新放回原位。再次单击照片以折叠照片时,照片会在页面加载时落到原位。合理?

为什么在页面加载时,照片之间有高度差异?我假设它与(.box img).css()代码有关,我已经进行了...但我无法弄明白。

这也是代码。

Jquery的:

$(document).ready(function(){

    $('#grid').masonry({
        singleMode: false,
        itemSelector: '.box',
        resizeable: true,
        animate: true
    });

    $('.box img').css({
        width: '100%',
        height: 'auto'
    });

            $('.box').click(function(){
        if ($(this).is('.expanded')){
            restoreBoxes();
        } else {
            $(this)
                // save original box size
                .data('size', [ $(this).width(), $(this).height() ])
                .animate({
                    width: 400
                }, function(){
                    $('#grid').masonry();
                });
            restoreBoxes();
            $(this).addClass('expanded');
        }

        function restoreBoxes(){
            var len = $('.expanded').length - 1;
            $('.expanded').each(function(i){
                var w = $(this).data('width');
                $(this).animate({
                    width: ( w || '200' )
                }, function(){
                    if (i >= len) {
                        $('#grid').masonry();
                    }
                })
                    .removeClass('expanded');
            });
                }
                });
        });

CSS:

.wrap {
    border: 0;
    width: 100%;
}
.box {
    float: left;
    font-size: 11px;
    width: 200px;
    margin: 0px;
    padding: 0px;
    display: inline;
}

1 个答案:

答案 0 :(得分:2)

我想我修好了。

修改 http://jsfiddle.net/fgNMJ/144/

卸下:

$('.box img').css({
    width: '100%',
    height: 'auto'
});

修改CSS

.box img{
   width:100%;   
}

另一个编辑: 您只需将$('.box img').css...来电转移到masonry来电之上。

http://jsfiddle.net/fgNMJ/145/