examples-simle.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>ngDraggable</title>
  5. <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootswatch/2.3.1/spruce/bootstrap.min.css">
  6. <style>
  7. * {
  8. -moz-box-sizing: border-box;
  9. -webkit-box-sizing: border-box;
  10. box-sizing: border-box;
  11. }
  12. [ng-drag] {
  13. -moz-user-select: -moz-none;
  14. -khtml-user-select: none;
  15. -webkit-user-select: none;
  16. -ms-user-select: none;
  17. user-select: none;
  18. }
  19. [ng-drag] {
  20. width: 100px;
  21. height: 100px;
  22. background: rgba(255, 0, 0, 0.5);
  23. color: white;
  24. text-align: center;
  25. padding-top: 40px;
  26. display: inline-block;
  27. margin: 0 10px;
  28. cursor: move;
  29. }
  30. ul.draggable-objects:after {
  31. display: block;
  32. content: "";
  33. clear: both;
  34. }
  35. .draggable-objects li {
  36. float: left;
  37. display: block;
  38. width: 120px;
  39. height: 100px;
  40. }
  41. [ng-drag].drag-over {
  42. border: solid 1px red;
  43. }
  44. [ng-drag].dragging {
  45. opacity: 0.5;
  46. }
  47. [ng-drop] {
  48. background: rgba(0, 255, 0, 0.5);
  49. text-align: center;
  50. width: 600px;
  51. height: 200px;
  52. padding-top: 90px;
  53. display: block;
  54. margin: 20px auto;
  55. position: relative;
  56. }
  57. [ng-drop].drag-enter {
  58. border: solid 5px red;
  59. }
  60. [ng-drop] span.title {
  61. display: block;
  62. position: absolute;
  63. top: 50%;
  64. left: 50%;
  65. width: 200px;
  66. height: 20px;
  67. margin-left: -100px;
  68. margin-top: -10px;
  69. }
  70. [ng-drop] div {
  71. position: relative;
  72. z-index: 2;
  73. }
  74. </style>
  75. </head>
  76. <body ng-app="ExampleApp">
  77. <div class="container" ng-controller="MainCtrl">
  78. <div class="row">
  79. <h1>ngDraggable Example</h1>
  80. </div>
  81. <ul class="draggable-objects">
  82. <li ng-if="true">
  83. <div ng-drag="true" ng-drag-data="{name:'test'}" data-allow-transform="true">TEST</div>
  84. </li>
  85. </ul>
  86. <hr/>
  87. <div ng-drop="true" ng-drop-success="onDropComplete1($data,$event)">
  88. <span class="title">Drop area #1</span>
  89. <div ng-repeat="obj in droppedObjects1" ng-drag="true" ng-drag-data="obj"
  90. ng-drag-success="onDragSuccess1($data,$event)" ng-center-anchor="{{centerAnchor}}">
  91. {{obj.name}}
  92. </div>
  93. </div>
  94. <div ng-drop="true" ng-drop-success="onDropComplete2($data,$event)">
  95. <span class="title">Drop area #2</span>
  96. <div ng-repeat="obj in droppedObjects2" ng-drag="true" ng-drag-data="obj"
  97. ng-drag-success="onDragSuccess2($data,$event)" ng-center-anchor="{{centerAnchor}}">
  98. {{obj.name}}
  99. </div>
  100. </div>
  101. <hr>
  102. </div>
  103. <footer style="margin-top:2000px;">footer</footer>
  104. <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
  105. <script src="ngDraggable.js"></script>
  106. <script>
  107. angular.module('ExampleApp', ['ngDraggable']).
  108. controller('MainCtrl', function ($scope) {
  109. $scope.centerAnchor = true;
  110. $scope.toggleCenterAnchor = function () {
  111. $scope.centerAnchor = !$scope.centerAnchor
  112. }
  113. //$scope.draggableObjects = [{name:'one'}, {name:'two'}, {name:'three'}];
  114. var onDraggableEvent = function (evt, data) {
  115. console.log("128", "onDraggableEvent", evt, data);
  116. }
  117. $scope.$on('draggable:start', onDraggableEvent);
  118. // $scope.$on('draggable:move', onDraggableEvent);
  119. $scope.$on('draggable:end', onDraggableEvent);
  120. $scope.droppedObjects1 = [];
  121. $scope.droppedObjects2 = [];
  122. $scope.onDropComplete1 = function (data, evt) {
  123. console.log("127", "$scope", "onDropComplete1", data, evt);
  124. var index = $scope.droppedObjects1.indexOf(data);
  125. if (index == -1)
  126. $scope.droppedObjects1.push(data);
  127. }
  128. $scope.onDragSuccess1 = function (data, evt) {
  129. console.log("133", "$scope", "onDragSuccess1", "", evt);
  130. var index = $scope.droppedObjects1.indexOf(data);
  131. if (index > -1) {
  132. $scope.droppedObjects1.splice(index, 1);
  133. }
  134. }
  135. $scope.onDragSuccess2 = function (data, evt) {
  136. var index = $scope.droppedObjects2.indexOf(data);
  137. if (index > -1) {
  138. $scope.droppedObjects2.splice(index, 1);
  139. }
  140. }
  141. $scope.onDropComplete2 = function (data, evt) {
  142. var index = $scope.droppedObjects2.indexOf(data);
  143. if (index == -1) {
  144. $scope.droppedObjects2.push(data);
  145. }
  146. }
  147. var inArray = function (array, obj) {
  148. var index = array.indexOf(obj);
  149. }
  150. });
  151. </script>
  152. </body>
  153. </html>