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 asp.net 用json格式返回自定义对象
Apr 07 Javascript
面向对象的Javascript之一(初识Javascript)
Jan 20 Javascript
javascript loadScript异步加载脚本示例讲解
Nov 14 Javascript
js如何判断用户是否是用微信浏览器
Jun 05 Javascript
js实现按钮加背景图片常用方法
Nov 01 Javascript
JavaScript验证Email(3种方法)
Sep 21 Javascript
一种新的javascript对象创建方式Object.create()
Dec 28 Javascript
js通过classname来获取元素的方法
Nov 24 Javascript
angularjs实现猜数字大小功能
May 20 Javascript
jQuery实现的五星点评功能【案例】
Feb 18 jQuery
Vue项目移动端滚动穿透问题的实现
May 19 Javascript
JS实现4位随机验证码
Oct 19 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判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
javascript 动态生成私有变量访问器
2009/12/06 Javascript
百度地图api应用标注地理位置信息(js版)
2013/02/01 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
常用的javascript设计模式
2017/01/11 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
python将txt文件读取为字典的示例
2018/12/22 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
django创建css文件夹的具体方法
2020/07/31 Python
pandas参数设置的实用小技巧
2020/08/23 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
2020/11/27 Python
selenium自动化测试入门实战
2020/12/21 Python
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
捷克钓鱼用品网上商店:Parys.cz
2018/06/15 全球购物
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
说明书怎么写
2014/05/06 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
2014年文明创建工作总结
2014/11/25 职场文书
Java 写一个简单的图书管理系统
2022/04/26 Java/Android