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 相关文章推荐
Ext grid 添加右击菜单
Nov 26 Javascript
jQuery UI-Draggable 参数集合
Jan 10 Javascript
js实现千分符和保留几位小数的简单实例
Aug 01 Javascript
js实现本地时间同步功能
Aug 26 Javascript
Angular4绑定html内容出现警告的处理方法
Nov 03 Javascript
浅谈React的最大亮点之虚拟DOM
May 29 Javascript
使用vuex缓存数据并优化自己的vuex-cache
May 30 Javascript
vue项目中添加单元测试的方法
Jul 21 Javascript
JS获取月的第几周和年的第几周实例代码
Dec 05 Javascript
Nest.js环境变量配置与序列化详解
Feb 21 Javascript
在HTML5 localStorage中存储对象的示例代码
Apr 21 Javascript
使用react-virtualized实现图片动态高度长列表的问题
May 28 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
javascript与asp.net(c#)互相调用方法
2009/12/13 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
Vue.js图片预览插件使用详解
2018/08/27 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
python遍历目录的方法小结
2016/04/28 Python
python实现公司年会抽奖程序
2019/01/22 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
Python基础之高级变量类型实例详解
2020/01/03 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
2020/04/22 Python
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
AJax面试题
2014/11/25 面试题
历史专业个人求职信分享
2013/12/20 职场文书
期中考试后的反思
2014/02/08 职场文书
教师产假请假条
2014/04/10 职场文书
开学典礼策划方案
2014/05/28 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
毕业实习感受与体会
2015/05/26 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书
python glom模块的使用简介
2021/04/13 Python