使用angular帮你实现拖拽的示例


Posted in Javascript onJuly 05, 2017

拖拽有多种写法,在这里就看一看angular版的拖拽。

<!DOCTYPE html>
<html ng-app="myApp">
  <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      #box{
        width: 100px;
        height: 100px;
        background: black;
        /*一定要给当前元素设置绝对定位*/
        position: absolute;
        left: 0;
        top: 0;
      }
    </style>
  </head>
  <body>
    <div id="box" my-drag></div>
  </body>
    <script src="jquery-3.1.1.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/angular.min.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
//     自定义一个模块
      var app = angular.module("myApp",[]);
//     自定义指令 自定义指令时一定要使用驼峰命名法
      app.directive('myDrag',function(){
//       返回一个函数
        return{
          link : function(scope,element,attr){
//           scope可以接收到的数据
//           element 当前的元素
//           attr属性
 
//           拖拽的三大事件mousedown,mousemove,mouseup.使用jq绑定事件的方法进行绑定
            element.on('mousedown',function(ev){
//             通过event获取到当前对象
              var This = $(this);
//             获取到鼠标离当前元素上边框的距离
              var disX = ev.clientX - $(this).offset().left;
//             获取到元素距离左边框的距离 
//             因为在拖拽的过程中不变的是鼠标距离元素边框的距离 通过不变和已知求变量
              var disY = ev.clientY - $(this).offset().top;
              $(document).on('mousemove',function(ev){
//               将所改变的值通过样式设置给当前元素
                This.css({
                  left:ev.clientX - disX,
                  top:ev.clientY - disY,
                });
              });
              $(document).on('mouseup',function(){
//               鼠标松开时关闭所有事件
                $(document).off();
              })
            })
          },
          restrict:'A', //ECMA    E元素 C类名 M注释 A属性
        };
      });
    </script>
</html>

以上这篇使用angular帮你实现拖拽的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使javascript也能包含文件
Oct 26 Javascript
利用javascript移动div层-javascript 拖动层
Mar 22 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
Feb 25 Javascript
ActiveX控件与Javascript之间的交互示例
Jun 04 Javascript
Node.js与PHP、Python的字符处理性能对比
Jul 06 Javascript
jQuery实现的简洁下拉菜单导航效果代码
Aug 26 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
Nov 09 Javascript
js图片轮播效果实现代码
Apr 18 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
Jun 25 Javascript
JS实现的点击表头排序功能示例
Mar 27 Javascript
Node.js使用Koa搭建 基础项目
Jan 08 Javascript
浅谈layui分页控件field参数接收对象的问题
Sep 20 Javascript
使用JavaScript根据图片获取条形码的方法
Jul 04 #Javascript
jquery拖动改变div大小
Jul 04 #jQuery
JavaScript无操作后屏保功能的实现方法
Jul 04 #Javascript
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
Jul 04 #Javascript
5分钟打造简易高效的webpack常用配置
Jul 04 #Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 #Javascript
js CSS3实现卡牌旋转切换效果
Jul 04 #Javascript
You might like
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
一个JavaScript获取元素当前高度的实例
2014/10/29 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
2016/10/13 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
简明 Python 基础学习教程
2007/02/08 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
2019/06/18 Python
Python 如何查找特定类型文件
2020/08/17 Python
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
思想政治教育专业个人求职信范文
2013/12/20 职场文书
写给学生的新学期寄语
2014/01/18 职场文书
2014年计算机专业个人自我评价
2014/01/19 职场文书
职工运动会感言
2014/02/07 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
春风化雨观后感
2015/06/11 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书
如何用python绘制雷达图
2021/04/24 Python
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js