我试图在$ 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
答案 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()
});