divを回転するには次のコードがあります。同じdivの右上隅にある画像のmousedownイベントによって。マウスを上に動かすまでdivを回転させたい論理的には、コードは問題ないと思いますが、それはクリック後に機能します。マウスアップの代わりに、他のアイテムをクリックすると回転が停止します。 ..私は、ブラウザダウンマウスが画像をドラッグしようとした後、ドラッグ上だと思うが、私は助けが必要な事前:)で感謝マウスを移動してdivを回転する
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)');
}
いくつかの例でhttp://jsfiddle.net/を作成できますか? – Akarun
すべての関連コードを投稿しましたか? – polarblau
イベントが起こるはずだと思ったら、イベントが発生するかどうかをconsole.logで確認できますか?私が理解していることから、最初のマウスイベントはクリック後にのみ発生し、2回目のクリックでmouseupイベントがアクティブになり、fl_rotateがtrueに設定されているため回転が無効になります。しかしこれは、マウスアップイベントのようなサウンドをマウスの前に発します。 – Ekim