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的ajax功能实现的RSS Reader 代码
Sep 03 Javascript
如何在node的express中使用socket.io
Dec 15 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
Sep 06 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
Nov 19 Javascript
jQuery Ajax实现跨域请求
Jan 21 Javascript
基于JavaScript实现验证码功能
Apr 01 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
Jul 13 Javascript
详解webpack多页面配置记录
Jan 22 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
JS数组求和的常用方法总结【5种方法】
Jan 14 Javascript
详解基于原生JS验证表单组件xy-form
Aug 20 Javascript
js实现录音上传功能
Nov 22 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创建多级目录代码
2008/06/05 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
php图片添加水印例子
2016/07/20 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
基于PHP pthreads实现多线程代码实例
2020/06/24 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
八种Vue组件间通讯方式合集(推荐)
2020/08/18 Javascript
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python端口扫描系统实现方法
2014/11/19 Python
解决win64 Python下安装PIL出错问题(图解)
2018/09/03 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
致铅球运动员加油稿
2014/02/13 职场文书
商务日语专业自荐信
2014/04/17 职场文书
工业设计专业自荐书
2014/06/05 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
学校端午节活动总结
2015/02/11 职场文书
课题研究阶段性总结
2015/08/13 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python