1

我是 jquery 的新手,现在我尝试用 .animate 做一些事情。

我从带有图像的 div 构建网格,然后缩放其中一个图像。但是当我放大一个时,其他元素会改变位置。我应该怎么做才能将这个缩放的元素带到像其他层一样的东西 - 我想缩放它但在其他图像之上。我认为我必须复制这个 div 然后缩放它?或者也许有类似动作脚本“深度”的东西,我可以将对象移动到更大的深度。

我的代码很简单:

$('.profile').hover(
function() {
    $(this).animate({ 'zoom': 1.05 }, 400);

},
function() {
    $(this).animate({ 'zoom': 1 }, 400);
});
4

1 回答 1

1

将 z-index 属性设置为较大的数字,它将位于其他元素之上。

$('.profile').hover(
function() {
    $(this).css("z-index", "999").animate({ 'zoom': 1.05 }, 400);

},
function() {
    $(this).css("z-index", "0").animate({ 'zoom': 1 }, 400);
});

您需要绝对定位元素,以使它们在缩放发生时不移动。添加了一个用于绝对定位的示例 jsfiddle。

jsFiddle在这里

和另一个jsFiddle,它在相对定位元素内使用绝对定位,以防您需要:

另一个 jsFiddle 示例

如果您只想要缩放功能,而不是删除marginLeft'width''height'更改,因为我只是将其用作其他元素如何不移动的示例,因为它们是绝对定位的。

还有更多的乐趣: 这里

于 2013-07-28T00:19:28.967 回答