example.html 4.3 KB

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