vue实现移动端触屏拖拽功能
vue实现移动端可拖拽浮球,供大家参考,具体内容如下
1首先创建一个div
奖励规则
2给div附上样式
3给div附上事件
准备四个变量
1)、屏幕长
varscreenHeight=window.screen.height
2)、屏幕宽
varscreenWidth=window.screen.width
3)、初始触控点距离div左上角的横向距离dx
4)、初始触控点距离div左上角的竖向距离dy
在开始拖拽时,计算出鼠标点(初始触控点)和div左上角顶点的距离
down(event){ this.flags=true; vartouch; if(event.touches){ touch=event.touches[0]; }else{ touch=event; } console.log('鼠标点所在位置',touch.clientX,touch.clientY) console.log('div左上角位置',event.target.offsetTop,event.target.offsetLeft) dx=touch.clientX-event.target.offsetLeft dy=touch.clientY-event.target.offsetTop },
拖拽进行时,将触控点的位置赋值给div
//定位滑块的位置 this.position.x=touch.clientX-dx; this.position.y=touch.clientY-dy;
//限制滑块超出页面 //console.log('屏幕大小',screenWidth,screenHeight) if(this.position.x<0){ this.position.x=0 }elseif(this.position.x>screenWidth-touch.target.clientWidth){ this.position.x=screenWidth-touch.target.clientWidth } if(this.position.y<0){ this.position.y=0 }elseif(this.position.y>screenHeight-touch.target.clientHeight){ this.position.y=screenHeight-touch.target.clientHeight }
拖拽结束
//鼠标释放时候的函数 end(){ console.log('end') this.flags=false; },
全部代码
奖励规则
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。