使用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 相关文章推荐
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
Dec 06 Javascript
JavaScript Array Flatten 与递归使用介绍
Oct 30 Javascript
jquery衣服颜色选取插件效果代码分享
Aug 28 Javascript
javascript实现随机显示星星特效
Jan 28 Javascript
JavaScript设计模式经典之工厂模式
Feb 24 Javascript
详解vue渲染从后台获取的json数据
Jul 06 Javascript
JS+canvas画一个圆锥实例代码
Dec 13 Javascript
js获取html页面代码中图片地址的实现代码
Mar 05 Javascript
浅谈Vue下使用百度地图的简易方法
Mar 23 Javascript
原生JS实现列表子元素顺序反转的方法分析
Jul 02 Javascript
JavaScript实现网页跨年倒计时
Dec 02 Javascript
vue 实现click同时传入事件对象和自定义参数
Jan 29 Vue.js
使用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
Yii框架form表单用法实例
2014/12/04 PHP
PHP7变量处理机制修改
2021/03/09 PHP
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
ExpressJS入门实例
2015/01/14 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
2018/01/25 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
基于JS开发微信网页录音功能的实例代码
2019/04/30 Javascript
vue数据响应式原理知识点总结
2020/02/16 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
使用PDB简单调试Python程序简明指南
2015/04/25 Python
Python聊天室实例程序分享
2016/01/05 Python
python dataframe向下向上填充,fillna和ffill的方法
2018/11/28 Python
python3 http提交json参数并获取返回值的方法
2018/12/19 Python
python中时间模块的基本使用教程
2019/05/14 Python
Python如何省略括号方法详解
2020/03/21 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
优秀员工演讲稿
2014/05/19 职场文书
文秘应届生求职信
2014/07/05 职场文书
调任通知
2015/04/21 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
Python中for后接else的语法使用
2021/05/18 Python
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android