0
私がサポートしているプロジェクトのためにドラッグ可能なdiv要素を作成しています。要素をドラッグできるようにするこのAngularJS directiveが見つかりました。AngularJS Ngdraggable issue
指示を変更して開始位置を変更しましたが、変更を加えたときにマウスの方向が反転しません(つまり、マウスを右側に移動するとdivが左側に移動します)。ここでは、私が直面している問題を紹介するために、以下の変更を加えたAngularJS directiveのアップデート版があります。
var app = angular.module('myApp', []);
app.controller('myController', function($scope) {
});
app.directive('ngDraggable', function($document, $window){
function makeDraggable(scope, element, attr) {
var startX = 0;
var startY = 0;
var x = 20;
var y = 20;
// Start with a random pos
// var x = Math.floor((Math.random() * 500) + 40);
// var y = Math.floor((Math.random() * 360) + 40);
element.css({
position: 'absolute',
cursor: 'pointer',
bottom: y + 'px',
right: x + 'px'
});
element.on('mousedown', function(event) {
event.preventDefault();
startX = event.pageX - x;
startY = event.pageY - y;
$document.on('mousemove', mousemove);
$document.on('mouseup', mouseup);
});
function mousemove(event) {
y = event.pageY - startY;
x = event.pageX - startX;
element.css({
bottom: y + 'px',
right: x + 'px'
});
}
function mouseup() {
$document.unbind('mousemove', mousemove);
$document.unbind('mouseup', mouseup);
}
}
return {
link: makeDraggable
};
});
:
はコードを参照してください。単に-xを行うのではなく、それを " - " + xにしていました。 –
それは文字列になります。ここで変数のIntegerコンテキストを保持しなければなりません。 – nashcheez