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的事件描述
Sep 08 Javascript
对字符串进行HTML编码和解码的JavaScript函数
Feb 01 Javascript
jQuery 源码分析笔记(5) jQuery.support
Jun 19 Javascript
JavaScript获取FCK编辑器信息的具体方法
Jul 12 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
Aug 02 Javascript
JS 实现导航栏悬停效果(续)
Sep 24 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
Aug 07 Javascript
Bootstrap表单布局样式代码
May 31 Javascript
Angular2  NgModule 模块详解
Oct 19 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
Sep 28 Javascript
详解JavaScript函数callee、call、apply的区别
Mar 08 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
Nov 01 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函数之日期时间函数date()使用详解
2013/09/09 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
2014/06/07 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
跟老齐学Python之集合的关系
2014/09/24 Python
python使用urlparse分析网址中域名的方法
2015/04/15 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
python通过ssh-powershell监控windows的方法
2015/06/02 Python
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python 删除非空文件夹的实例
2018/04/26 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
python使用smtplib模块发送邮件
2020/12/17 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
工程师自我评价怎么写
2013/09/19 职场文书
《一个小村庄的故事》教学反思
2014/04/13 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python