jQuery – CSS – 通过拖动鼠标事件旋转Div

我正在寻找几天没有真正的结果,也许有人可以帮助我。

我的页面上有一个div(可以包含图像,文本区域,其他),它是可拖动的和可resize的(感谢jQuery UI),我想让它“可旋转”,在一个角落拖动手柄并使用css变换(-wekbit-transform,moz-transform)旋转它

可能吗 ? 用jQuery或其他Javascript?

其实我不关心与IE的兼容性。

提前谢谢,问候

使用jQuery UI的原始拖动事件:

$('selector').draggable({ drag: function(event, ui){ var rotateCSS = 'rotate(' + ui.position.left + 'deg)'; $(this).css({ '-moz-transform': rotateCSS, '-webkit-transform': rotateCSS }); } }); 

问题是你的问题稍微不清楚是如何处理由此引起的两个行为(当你拖动对象既旋转四处移动)的冲突。 这个只是让鼠标的左右移动决定旋转多少,而默认的拖动行为(移动)仍然存在。

编辑:

我想这有点hackish但它会工作:

 // Your original element var ele = $('#selector'); // Create handle dynamically $('
').appendTo(ele).attr('id','handle').css({ 'position': 'absolute', 'bottom': 5, 'right': 5, 'height': 10, 'width': 10, 'background-color': 'orange' }); ele.css('position', 'relative'); $('#handle').draggable({ handle: '#handle', opacity: 0.01, helper: 'clone', drag: function(event, ui){ var rotateCSS = 'rotate(' + ui.position.left + 'deg)'; $(this).parent().css({ '-moz-transform': rotateCSS, '-webkit-transform': rotateCSS }); } });