首页 > 编程 > JavaScript > 正文

AngularJS实现的简单拖拽功能示例

2019-11-19 14:36:49
字体:
来源:转载
供稿:网友

本文实例讲述了AngularJS实现的简单拖拽功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html><html ng-app="myApp">  <head>    <meta charset="UTF-8">    <title>www.VeVB.COm AngularJS拖拽</title>    <style>    *{      padding:0;      margin:0;    }      .wei{        width:100px;        height:100px;        background: red;        position:absolute;        cursor: pointer;        /*left:0;top:0;*/      }    </style>  </head>  <body ng-controller="show">      <div class="wei" wei-yi data="true"></div>      <div class="wei" wei-yi data="false"></div>    <script src="jquery.js" type="text/javascript" charset="utf-8"></script>    <script src="angular.min.js" type="text/javascript" charset="utf-8"></script>    <script type="text/javascript">      var app = angular.module('myApp',[]);      //自定义属性      app.directive("weiYi",function(){        return{          restrict :'A',//A属性,E标签,C类名,D注释          link :function(scope,element,attr){            attr.data=angular.equals(attr.data,"true");            //console.log(attr.data);            console.log(element);            element.on("mousedown",function(e){              var that = $(this);              console.log(attr.data);              if(attr.data){                $div=$("<div>");                console.log($div);                $div.css({"width":"100px","height":"100px","border": "2px dotted green","position":"absolute","left":that.offset().left,"top":that.offset().top});                $div.appendTo($("body"));              }              var x=e.clientX-$(this).offset().left;              var y=e.clientY-$(this).offset().top;              //console.log(x+":"+y);              $(document).on("mousemove",function(e){                if(attr.data){                  $div.css({"left":e.clientX-x,"top":e.clientY-y});                }else{                  that.css({"left":e.clientX-x,"top":e.clientY-y});                }              });              $(document).on("mouseup",function(e){                //console.log($div);                $(document).off();                if(attr.data){                  that.css({"left":$div.offset().left,"top":$div.offset().top});                  $div.remove();                }              })            })          }        }      });      app.controller('show',['$scope',function(scope$){      }]);    </script>  </body></html>

运行效果如下:

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结

希望本文所述对大家AngularJS程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表