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


Posted in Javascript onJanuary 02, 2018

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

<!DOCTYPE html>
<html ng-app="myApp">
  <head>
    <meta charset="UTF-8">
    <title>3water.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程序设计有所帮助。

Javascript 相关文章推荐
扩展jquery实现客户端表格的分页、排序功能代码
Mar 16 Javascript
javascript date格式化示例
Sep 25 Javascript
用Jquery实现滚动新闻
Feb 12 Javascript
javascript得到当前页的来路即前一页地址的方法
Feb 18 Javascript
JavaScript中模拟实现jsonp
Jun 19 Javascript
浅析jQuery Ajax通用js封装
Jun 22 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
Jan 14 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
浅谈Koa服务限流方法实践
Oct 23 Javascript
vue实现验证码按钮倒计时功能
Apr 10 Javascript
Vuejs通过拖动改变元素宽度实现自适应
Sep 02 Javascript
js实现限定区域范围拖拉拽效果
Nov 20 Javascript
AngularJS实现的锚点楼层跳转功能示例
Jan 02 #Javascript
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 #jQuery
Node实战之不同环境下配置文件使用教程
Jan 02 #Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
Jan 02 #jQuery
Node解决简单重复问题系列之Excel内容的获取
Jan 02 #Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
Jan 02 #Javascript
React教程之封装一个Portal可复用组件的方法
Jan 02 #Javascript
You might like
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
ThinkPHP函数详解之M方法和R方法
2015/09/10 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
jquery tools之tooltip
2009/07/25 Javascript
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
CentOS7下python3.7.0安装教程
2018/07/30 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
一份婚庆公司创业计划书
2014/01/11 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
机关保密工作承诺书
2015/05/04 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL