使用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 定义初始化数组函数
Sep 07 Javascript
JS封装的自动创建表格的实现代码
Jun 15 Javascript
概述BootStrap中role=&quot;form&quot;及role作用角色
Dec 08 Javascript
AngularJS指令中的绑定策略实例分析
Dec 14 Javascript
jQuery实现可移动选项的左右下拉列表示例
Dec 26 Javascript
Vue.js中组件中的slot实例详解
Jul 17 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
Jul 24 Javascript
Vue 动态组件与 v-once 指令的实现
Feb 12 Javascript
JavaScript ES2019中的8个新特性详解
Feb 20 Javascript
JavaScript的级联函数用法简单示例【链式调用】
Mar 26 Javascript
react使用antd表单赋值,用于修改弹框的操作
Oct 29 Javascript
JS原生实现轮播图的几种方法
Mar 23 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
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
js 求时间差的实现代码
2016/04/26 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
JS原型prototype和__proto__用法实例分析
2020/03/14 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
python写入已存在的excel数据实例
2018/05/03 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
Talbots官网:美国成熟女装品牌
2019/11/15 全球购物
材料采购员岗位职责
2013/12/17 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
毕业生找工作求职信
2014/08/05 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
2015年党员承诺书
2015/01/21 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
SQL实现LeetCode(175.联合两表)
2021/08/04 MySQL
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers