拖拽(可以封装成指令的形式 angular )
来源:互联网 发布:网络语言20米是多少钱 编辑:程序博客网 时间:2024/06/05 03:15
//父元素的宽高,不让其脱离宽高 //link:function (scope,ele,attr) {ele.parent (可以拿父元素的宽高)} $scope.widths = $(".box").width(); $scope. heights = $(".box").height(); function draggleBefore (_this,ev){ var pos = $scope.getPos(ev); $scope.getOffset(_this,pos); } //拖拽元素 //ele.on('mousedown',function(){ // draggleBefore(_this,ev) //}); //拖拽元素 具体 $(".date").mousedown(function(ev){ var _this = this; $scope.flag = 0; draggleBefore(_this,ev) } $scope.getPos =function(ev){ var ev = ev || event; var scrollTop=document.documentElement.scrollTop || document.body.scrollTop; var scrollLeft=document.documentElement.scrollLeft || document.body.scrollLeft; return {x: ev.clientX+scrollLeft, y: ev.clientY+scrollTop}; }; $scope.getOffset = function(_this,pos){ var disX=0; var disY=0; //这样就可以获取鼠标坐标,比如pos.x表示鼠标横坐标 disX=pos.x-_this.offsetLeft; disY=pos.y-_this.offsetTop; document.onmousemove=function(ev){ { var oEvent=ev||event; var pos=$scope.getPos(oEvent); //防止div跑出可视框 var left = pos.x-disX; var top =pos.y-disY; if(left < 0){ left = 0; } if(left >$scope.widths-_this.offsetWidth){ left = $scope.widths-_this.offsetWidth; } if(top <0){ top =0; } if(top > $scope.heights-_this.offsetHeight) { top = $scope.heights-_this.offsetHeight; } _this.style.left = left+'px'; _this.style.top = top +'px'; //或者用jq css(); } document.onmouseup=function() { document.onmousemove = null; //将move清除 document.onmouseup = null; $scope.returnData(left,top); }; return false; //火狐的bug,要阻止默认事件 } }; $scope.returnData = function(x,y){ console.log("x"+x+"y"+y) };
阅读全文
0 0
- 拖拽(可以封装成指令的形式 angular )
- Angular指令、service封装经验总结
- Angular中http请求后再执行封装的echarts指令($watch)
- angular把echarts封装为指令(配合requirejs)
- angular my97时间控件 指令 封装使用
- angular的基本指令
- angular的指令
- Angular强大的指令
- Angular的内置指令
- angular 指令的问题
- angular的指令
- Angular封装指令回到顶部以及滚动到特定的页面位置
- 关于Angular 指令的理解
- Angular 比较常用的指令
- angular创建自定义的指令
- angular指令间的交互
- Angular 比较常用的指令
- angular指令和指令之间的交互
- Android ConstraintLayout属性详解
- 逻辑回归及其分析
- Asp.Net Core-项目结构
- 分布式系统事务一致性解决方案
- 史上最强的Vim 配置文件(原版+中文改进版)
- 拖拽(可以封装成指令的形式 angular )
- jQuery 理解事件和动画
- 第六十四篇:commons-configuration使用介绍
- Astyle编程语言格式化工具的中文说明
- LintCode 带环链表(快慢指针法)
- TIKV副本一致性检查机制源码分析
- DevOps发展趋势分析之:安全篇
- 合唱队-华为机试
- Spring Task定时任务的配置和使用详解