使用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 相关文章推荐
jQuery 创建Dom元素
May 07 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
Oct 29 Javascript
选择器中含有空格在使用示例及注意事项
Jul 31 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
Oct 23 Javascript
IE6已终止操作问题的2种情况及解决
Apr 23 Javascript
JQuery中DOM实现事件移除的方法
Jun 13 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
May 03 Javascript
微信小程序  modal弹框组件详解
Oct 27 Javascript
JavaScript基本类型值-Number类型
Feb 24 Javascript
详解html-webpack-plugin用法全解
Jan 22 Javascript
JS实现的简单下拉框联动功能示例
May 11 Javascript
js实现图片实时时钟
Jan 15 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
discuz安全提问算法
2007/06/06 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
超轻量级的js时间库miment使用解析
2019/08/02 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
Python使用Supervisor来管理进程的方法
2015/05/28 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
基于python实现聊天室程序
2018/07/27 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
2019/10/28 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
python实现滑雪者小游戏
2020/02/22 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
2020/03/03 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
2020/12/01 Python
python os.listdir()乱码解决方案
2021/01/31 Python
Django中template for如何使用方法
2021/01/31 Python
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
排查整治工作方案
2014/06/09 职场文书
行政部经理助理岗位职责
2014/06/15 职场文书
交通工程专业推荐信
2014/09/06 职场文书
单位未婚证明范本
2014/11/25 职场文书
优秀教师推荐材料
2014/12/16 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
开幕式邀请函
2015/01/31 职场文书
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis