有几个类似的问题已经被问到了,但它们都没有足够的答案。
我有一个带有当前变换原点的转换元素。我想改变元素的变换原点,然后再次进行变换。问题在于当我改变变换原点时,原始变换是基于新的变换原点计算的,然后才进行新的变换。
我想知道是否有一种方法可以使当前变换的元素保持在原地,同时改变变换原点,然后根据新的原点对元素进行变换。
如果我的描述令人困惑,请查看这个fiddle。 http://jsfiddle.net/justinbchristensen/a6reyd3t/1/
var rotateDiv = $('#rotate-div');
var rotation = 0;
$('#rotate-btn').on('click', function() {
rotation += 90;
rotateDiv.css('transform', 'rotate(' + rotation + 'deg)');
});
$('#origin-btn').on('click', function() {
rotateDiv.css('transform-origin', 'top right');
});
<button id="rotate-btn">1) Press To Rotate</button>
<button id="origin-btn">2) Press To Change Transform Origin</button>
<div id="container">
<div id="rotate-div"></div>
</div>