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 相关文章推荐
JavaScript网页定位详解
Jan 13 Javascript
javascript实现数字验证码的简单实例
Feb 10 Javascript
浏览器缩放检测的js代码
Sep 28 Javascript
原生js和jQuery实现淡入淡出轮播效果
Dec 25 Javascript
javascript瀑布流式图片懒加载实例解析与优化
Feb 23 Javascript
jquery自定义插件——window的实现【示例代码】
May 06 Javascript
JavaScript实现垂直向上无缝滚动特效代码
Nov 23 Javascript
jQuery编写网页版2048小游戏
Jan 06 Javascript
用vue和node写的简易购物车实现
Apr 25 Javascript
微信小程序支付PHP代码
Aug 23 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
May 05 Javascript
vue实现跨域的方法分析
May 21 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 之入门篇
2006/12/04 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
2013/06/17 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
php常用数组函数实例小结
2016/12/29 PHP
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
JS原生轮播图的简单实现(推荐)
2017/07/22 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
python多线程编程方式分析示例详解
2013/12/06 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
解决python运行效率不高的问题
2020/07/20 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
10分钟理解CSS3 Grid布局
2018/12/20 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
美国大尺码女装零售商:TORRID
2016/10/01 全球购物
如何在Shell脚本中使用函数
2015/09/06 面试题
农田水利实习自我鉴定
2013/09/19 职场文书
大学生应聘自荐信
2013/10/11 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
电子专业毕业生自荐信
2014/05/25 职场文书
如何制定一份可行的计划!
2019/06/21 职场文书
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers