使用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 插件之仿“卓越亚马逊”首页弹出菜单效果
Dec 25 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
Oct 27 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
May 06 Javascript
javascript鼠标滑动评分控件完整实例
May 13 Javascript
JavaScript数组的一些奇葩行为
Jan 25 Javascript
实例详解ECMAScript5中新增的Array方法
Apr 05 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 jQuery
vue中各组件之间传递数据的方法示例
Jul 27 Javascript
javascript中new Array()和var arr=[]用法区别
Dec 01 Javascript
vue的常用组件操作方法应用分析
Apr 13 Javascript
el-table表头根据内容自适应完美解决表头错位和固定列错位
Jan 07 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 之 没有mysql支持时的替代方案
2006/10/09 PHP
用 PHP5 轻松解析 XML
2006/12/04 PHP
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
php函数间的参数传递(值传递/引用传递)
2013/09/23 PHP
php实现计数器方法小结
2015/01/05 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
JavaScript实现多个重叠层点击切换效果的方法
2015/04/24 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
Python基础语法(Python基础知识点)
2016/02/28 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
python 获取图片分辨率的方法
2019/01/08 Python
Python多进程fork()函数详解
2019/02/22 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
python实现拼接图片
2020/03/23 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
高二地理教学反思
2014/01/24 职场文书
化学工程专业求职信
2014/08/10 职场文书
医学检验专业自荐信
2014/09/18 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB