Ho il seguente codice per ruotare un div. Per evento falso nell'immagine nell'angolo in alto a destra dello stesso div. Voglio che il div ruoti fino al mouse. logicamente credo che il codice sia a posto ma funziona dopo un clic. Invece di mouseup la rotazione si interrompe quando clicco su un altro oggetto. Credo che su trascinando mouse verso il basso dopo il browser tenta di trascinare l'immagine, ma ho bisogno di aiuto .. grazie in anticipo :)rotazione div con movimento del mouse
fl_rotate: false,
rotdivs: function() {
var pw;
var oThis = this;
$('.drop div img').mousedown(function(e) {
oThis.destroyDragResize();
oThis.fl_rotate = true;
return;
});
$(document).mousemove(function(e) {
if (oThis.fl_rotate) {
var element = $(oThis.sDiv);
oThis.rotateOnMouse(e, element);
}
});
$(document).mouseup(function(e) {
if (oThis.fl_rotate) {
oThis.initDragResize();
var ele = $(oThis.sDiv);
ele.unbind('mousemove');
ele.draggable({
containment: 'parent'
});
ele = 0;
oThis.fl_rotate = false;
}
});
},
rotateOnMouse: function(e, pw) {
var offset = pw.offset();
var center_x = (offset.left) + ($(pw).width()/2);
var center_y = (offset.top) + ($(pw).height()/2);
var mouse_x = e.pageX;
var mouse_y = e.pageY;
var radians = Math.atan2(mouse_x - center_x, mouse_y - center_y);
var degree = (radians * (180/Math.PI) * -1) + 100;
// window.console.log("de="+degree+","+radians);
$(pw).css('-moz-transform', 'rotate(' + degree + 'deg)');
$(pw).css('-webkit-transform', 'rotate(' + degree + 'deg)');
$(pw).css('-o-transform', 'rotate(' + degree + 'deg)');
$(pw).css('-ms-transform', 'rotate(' + degree + 'deg)');
}
Puoi creare un http://jsfiddle.net/ con qualche esempio? – Akarun
Hai pubblicato tutti i codici rilevanti? – polarblau
puoi console.log gli eventi per vedere se accadono quando pensi che dovrebbero accadere? da quello che hai scritto ho capito che il primo evento di mouse si attiva solo dopo un clic e successivamente il secondo clic attiva l'evento mouseup che disabilita la rotazione perché fl_rotate è impostato su true. Questo comunque fa sembrare che un evento di mouseup si accenda prima di essere ucciso?!? – Ekim