根据您当前的问题和您要求的确认:
var x = termin.top + Math.cos(angle) * div.height;
var y = div.left + Math.sin(angle) * div.height;
该解决方案可以在另一个SO Answer for a different question中找到,在此处进行了增强:
// return an object with full width/height (including borders), top/bottom coordinates
var getPositionData = function(el) {
return $.extend({
width: el.outerWidth(false),
height: el.outerHeight(false)
}, el.offset());
};
// get rotated dimensions
var transformedDimensions = function(el, angle) {
var dimensions = getPositionData(el);
return {
width: dimensions.width + Math.ceil(dimensions.width * Math.cos(angle)),
height: dimensions.height + Math.ceil(dimensions.height * Math.cos(angle))
};
};
这是一个提供实时更新功能的交互式jsFiddle 。您将能够在您控制的CSS3 旋转过程结束时看到和值。getPositionData();
top
left
参考: jsFiddle
状态更新:上面的 jsFiddle 适用于0-90deg并且可以被批准用于所有角度和不同的单位,例如rad、grad 和 turn。