砌筑后的jquery窗口动画

时间:2014-01-19 16:22:13

标签: jquery html jquery-animate jquery-masonry .when

我试图在$ container.masonry()完全执行后获取一个窗口动画。 基本上我在点击时在一个砌体容器中调整图像大小,然后想要滚动到该调整大小的图像的顶部。 这是一个演示: http://www.possible.is/testumgebung/tester/

但是,使用当前的设置:

$(".image").click(function(){ 
            $('.image').not(this).removeClass('big');
            $( this ).toggleClass('big');
            $.when( $container.masonry() ).done(function() { 
                $('html, body').animate({
                    scrollTop: $('.big').offset().top
                }, 500)
            }); 
        });

窗口在通过砖石重新排列之前始终滚动到图像的位置。我的问题是,如何让它在整个砖石魔法之后滚动?

提前致谢

的Matthias

1 个答案:

答案 0 :(得分:1)

masonry有一个layoutComplete事件,当所有布局和转换完成后会触发该事件。据我所知,它没有回复承诺,所以$ .when可能不会很有用:

$(".image").on('click', function(){ 
    $('.image').not(this).removeClass('big');
    $( this ).toggleClass('big');
    $container.masonry( 'on', 'layoutComplete', function() {
        $('html, body').animate({
            scrollTop: $('.big').offset().top
        }, 500)
    }); 
    $container.masonry()
});