在我的网站上,我有一个在父div中具有绝对位置的div。我想要的是当我点击它必须放大的div并在我的浏览器中间放置时。
我试过的是这个:
$j("#mac").click(function(){
$j('#mac').css({
position: 'fixed'
});
$j('#mac').animate({
width: 923,
height: 498,
left: ($j(window).innerWidth() - 923)/2,
top: ($j(window).innerHeight() - 498)/2
}, 1000)});
虽然有效但发生的事情是#mac首先定位到我屏幕的左上角,而不是动画到我的屏幕中心。这是有道理的,因为固定的位置的使用。但是当我不使用那个位置时,div不会位于中心位置。
所以我不想在屏幕的左上角设置te,但是div必须从原来的位置动画到屏幕的中心。
有人知道怎么做吗?
提前致谢!
答案 0 :(得分:2)
当您将CSS位置更改为固定时,同时找到DIV的当前顶部和左侧位置并设置它们。这应该在正确的地方开始动画。
var offset = $j('#mac').offset();
$j('#mac').css({
position: 'fixed',
top: offset.top,
left: offset.left
});