0

我正在创建类似于 3D 地图的东西,我需要能够在使用 CSS3 3D 变换的同时放大某些元素。我已经发现,如果您在任何旋转之前应用平移,您可以非常简单地使用未转换的 2D 坐标来执行此操作。

我现在的问题是获取元素的未转换的 2D 属性,以便我可以移动“相机”以聚焦并缩放到所述元素。

在应用 3D 转换之前,我曾尝试存储原始属性,但这是不可靠且不可靠的,因为它不考虑视口更改,有时会给出奇数,好像父容器要小得多:

var contentChildren = $("#content3d").children().each(function(index, element){
    $(this).attr("flatleft", $(this).position().left);
    $(this).attr("flattop", $(this).position().top);
    $(this).attr("flatwidth", $(this).width());
    $(this).attr("flatheight", $(this).height());
});

那么,如何获得被 3D 转换的元素的未转换属性?

4

1 回答 1

1

您可以尝试在 jquery 中使用 .data 函数,据我所知,它非常简单且非常可靠。

$(this).data("flatleft", $(this).position().left);

参考:http ://api.jquery.com/data/

于 2012-11-01T10:09:40.227 回答