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 相关文章推荐
Prototype 学习 工具函数学习($A方法)
Jul 12 Javascript
ExtJs GridPanel简单的增删改实现代码
Aug 26 Javascript
JavaScript中的console.trace()函数介绍
Dec 29 Javascript
javascript处理a标签超链接默认事件的方法
Jun 29 Javascript
Bootstrap进度条实现代码解析
Mar 07 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
Oct 30 Javascript
js的对象与函数详解
Jan 21 Javascript
Vue js 的生命周期(看了就懂)(推荐)
Mar 29 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
May 05 Javascript
mpvue小程序循环动画开启暂停的实现方法
May 15 Javascript
微信小程序实现手势滑动卡片效果
Aug 26 Javascript
react结合bootstrap实现评论功能
May 30 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
提升PHP性能的21种方法介绍
2013/06/25 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
PHP7 标准库修改
2021/03/09 PHP
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
Python构造函数及解构函数介绍
2015/02/26 Python
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
浅析使用Python操作文件
2017/07/31 Python
Django 路由系统URLconf的使用
2018/10/11 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
通俗易懂了解Python装饰器原理
2020/09/17 Python
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
国庆节文艺活动方案
2014/02/03 职场文书
表演方阵解说词
2014/02/08 职场文书
委托书样本
2014/04/02 职场文书
路政管理求职信
2014/06/18 职场文书
学习雷锋精神倡议书
2015/04/27 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js