Я получаю абсолютно позиционированное положение позиций с помощью метода jQuery .position()
, а затем устанавливаю атрибуты, связанные с позицией (сверху, слева) с помощью jQuery .css(pos)
, где pos
- это данные, возвращаемые .position()
. Я думаю, что он оставит элемент в нем, но положение элементов меняется.
Как я могу использовать позицию с установленными вращающимися элементами, чтобы она была размещена так, как ожидалось? Может быть, существует коэффициент, зависящий от угла, который меняет положение?
Я тестирую Google Chrome v.9, Windows XP.
HTML
<div id="container">
<div id="element">
<img src="http://t0.gstatic.com/images?q=tbn:ANd9GcS0Fawya9MVMez80ZusMVtk_4-ScKCIy6J_fg84oZ37GzKaJXU74Ma0vENc"/>
</div>
</div>
CSS
#container {
position: relative;
border: 1px solid #999;
padding: 5px;
height: 300px;
width:300px;
}
#element {
position: absolute;
top:50px;
left: 60px;
width: auto;
border: 1px solid #999;
padding: 5px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
}
JS
$(document).ready(function(){
var $el = $('#element'),
// getting position
pos = $el.position();
alert(pos.left + '/' + pos.top);
// alerts 37/11
// setting css position attributes equal to pos
$el.css(pos);
// re-getting position
pos = $el.position();
alert(pos.left + '/' + pos.top);
// alerts 14/-28
});
Просмотреть http://jsfiddle.net/Antaranian/2gVL4/