我有一个巨大的可滚动区域。在一个部分中,我有一个缩略图网格。单击时,拇指被克隆并动画到屏幕中心,但它动画到整个区域的中心,而不是您正在查看的区域,即滚动到的区域。我怎样才能让它动画到可视区域的中心?jQuery代码如下:
var $article = $('#news-articles .news-article').eq(index);
var $articleClone = $article.clone(true); // clone the article for the corresponding link
// Create the expanded item container
var $expandedItem = $('<div>', {
id: 'item-expanded',
css: {
width: 188,
height: 188,
background: '#fff',
position: 'absolute',
zIndex: 999
},
});
$expandedItem.append($img); //Add the cloned image to the expanded item container
$('body').append($expandedItem); //Add the shaded overlay and the expanded item to the body
//Animate the size of the expanded item
$expandedItem.animate({
width: 400,
height: 400,
left: $(window).width()/2,
top: $(window).height()/2,
marginTop: -400/2,
marginLeft: -400/2,
}, {
duration: DDBR.constant.ITEM_ANIMATION_SPEED,
easing: DDBR.constant.ITEM_ANIMATION_EASING,
queue: false,
complete: function() {
animFinished = true;
if (animFinished) {
imageFade();
}
}
});
请注意,我已尝试将 $expanded 项目的位置更改为“固定”。但是,这会产生一个问题,因为它需要从我使用拇指的“偏移”获得的单击缩略图的位置进行动画处理。更改 $expandedItem 的位置会导致它在第一次加载时从拇指的位置开始动画,而不是在页面滚动后的当前位置。
希望这一切都有意义。对此的任何帮助将不胜感激。
提前致谢。