Использование исходных событий перетаскивания пользовательского интерфейса jQuery:
$('selector').draggable({
drag: function(event, ui){
var rotateCSS = 'rotate(' + ui.position.left + 'deg)';
$(this).css({
'-moz-transform': rotateCSS,
'-webkit-transform': rotateCSS
});
}
});
Проблема в том, что ваш вопрос немного неясен относительно того, как обрабатывается конфликт, связанный с двумя поведениями (когда вы перетаскиваете объект, оба вращаются, и перемещаются), которые возникают в результате этого. Это просто позволяет левому и правому движениям мыши определять, сколько нужно повернуть, в то время как поведение перетаскивания (движение) по умолчанию все еще существует.
Edit:
Полагаю, это немного хакерски, но это сработает:
// Your original element
var ele = $('#selector');
// Create handle dynamically
$('<div></div>').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
});
}
});