Jquery 将展开的照片粘贴到屏幕顶部

Jquery 将展开的照片粘贴到屏幕顶部,jquery,animation,jquery-animate,Jquery,Animation,Jquery Animate,我有一页照片缩略图,我想在点击时展开。我想保持照片的顶部在窗口的顶部,因为它的大小 单击时,我使用以下代码展开照片: $('.selectedPhoto').animate( // properties to animate { height: newHeight+'px', width: newWidth+'px' }, // options { duration: 200, // do t

我有一页照片缩略图,我想在点击时展开。我想保持照片的顶部在窗口的顶部,因为它的大小

单击时,我使用以下代码展开照片:

$('.selectedPhoto').animate(
    // properties to animate
    {
        height: newHeight+'px',
        width: newWidth+'px'
    },
    // options
    {
        duration: 200,
        // do this after each step of the animation
        step: function() 
        {
            // animate window scroll
            var offset = $(this).offset().top - 10;
            $('html,body').animate({scrollTop: offset}, 200);
        },
        // do this when animation is finished
        complete: function() {}
    }
);
当动画窗口滚动功能如上所述在动画的每个步骤中使用时,我得到了一个奇怪的行为,在调整大小动画完成后,窗口将锁定并阻止任何滚动。它将在几秒钟后解锁

如果我将动画窗口滚动代码放在“完成”选项中,它将按预期工作:展开照片,然后滚动到位

使用此代码调整大小时,是否可以将照片顶部粘贴在窗口顶部


谢谢

那么,您希望在调整照片大小时将窗口视口固定在某个位置?为什么不先滚动到照片,然后做动画呢。当图像向下拉长时,视口不应移动。问题是div的顶部位置在展开后会发生变化。