drack.js 976 B

123456789101112131415161718192021222324252627
  1. "use strict";
  2. app.directive('draggable', ['$document', function($document) {
  3. return function(scope, element, attr) {
  4. var startX = 0,
  5. startY = 0,
  6. x = 0,
  7. y = 0;
  8. element = angular.element(document.getElementsByClassName("modal-dialog"));
  9. element.css({
  10. position: 'relative',
  11. cursor: 'move'
  12. });
  13. element.on('mousedown', function(event) { // Prevent default dragging of selected content event.preventDefault(); startX = event.pageX - x; startY = event.pageY - y; $document.on('mousemove', mousemove); $document.on('mouseup', mouseup);
  14. });
  15. function mousemove(event) {
  16. y = event.pageY - startY;
  17. x = event.pageX - startX;
  18. element.css({ top: y + 'px', left: x + 'px' });
  19. }
  20. function mouseup() {
  21. $document.off('mousemove', mousemove);
  22. $document.off('mouseup', mouseup);
  23. }
  24. };
  25. }]);