3

我将从 JS Fiddle 开始:

http://jsfiddle.net/zy2xy/4/

<div id="page" style="position: relative; background: #ccc; width: 500px; height: 600px;">
    <div id="container" style="top: 50px; left: 100px; width: 200px; height: 200px; position: absolute; background: #fff;"> 
        <img src="http://lorempixel.com/200/100/">
    </div>
</div>​​​​​​​​​

我有一整页 div #page,在里面另一个 div#container绝对反对#page

我想要实现的是在其中旋转图像90deg180deg或者270deg始终将该图像移动到#container.

我尝试了一点,transform-origin但找不到任何解决方案。

4

1 回答 1

3

设置position:absolute为图像

然后计算角度。如果是 90 或 270,则为图像设置 left 和 top 属性。

代码

$('a').click(function(e) {
    e.preventDefault();
    var angle = $(this).attr("id");
    console.log("angle");
    var $container = $('#container');
    var left = 0;
    var top = 0;
    if(+angle === 90 || +angle === 270){
        top = 50;
        left = -50;
    }
    $("#my_image").css({
      transform: 'rotate('+angle+'deg)',
      '-moz-transform': 'rotate('+angle+'deg)',
      '-webkit-transform': 'rotate('+angle+'deg)',
        'top' : top + 'px',
        'left' : left + 'px'
    });
}).click();​  // Fire click on DOM ready

检查小提琴

于 2012-11-30T16:54:05.083 回答