vue实现可移动的悬浮按钮
本文实例为大家分享了vue实现可随处移动悬浮按钮的具体代码,供大家参考,具体内容如下
1.html代码
2.再data中定义
data(){
return{
isLoading:false,
flags:false,//控制使用
position:{
x:0,
y:0,
},
nx:"",
ny:"",
dx:"",
dy:"",
xPum:"",
yPum:"",
};
},
3.js代码
methods:{
callback(){
this.$router.go(-1);
},
onRefresh(){
//window.location.reload();
setTimeout((res)=>{
console.log(res);
this.isLoading=false;
},1000);
},
down(){
this.flags=true;
vartouch;
if(event.touches){
touch=event.touches[0];
}else{
touch=event;
}
this.position.x=touch.clientX;
this.position.y=touch.clientY;
this.dx=this.$refs.fu.offsetLeft;
this.dy=this.$refs.fu.offsetTop;
},
move(){
if(this.flags){
vartouch;
if(event.touches){
touch=event.touches[0];
}else{
touch=event;
}
this.nx=touch.clientX-this.position.x;
this.ny=touch.clientY-this.position.y;
this.xPum=this.dx+this.nx;
this.yPum=this.dy+this.ny;
letwidth=window.innerWidth-this.$refs.fu.offsetWidth;//屏幕宽度减去自身控件宽度
letheight=window.innerHeight-this.$refs.fu.offsetHeight;//屏幕高度减去自身控件高度
this.xPum<0&&(this.xPum=0);
this.yPum<0&&(this.yPum=0);
this.xPum>width&&(this.xPum=width);
this.yPum>height&&(this.yPum=height);
//if(this.xPum>=0&&this.yPum>=0&&this.xPum<=width&&this.yPum<=height){
this.$refs.fu.style.left=this.xPum+"px";
this.$refs.fu.style.top=this.yPum+"px";
//}
//阻止页面的滑动默认事件
document.addEventListener(
"touchmove",
function(){
event.preventDefault();
},
false
);
}
},
//鼠标释放时候的函数
end(){
this.flags=false;
},
onClick(){
//在这里我是作为子组件来使用的
this.$emit("click");
},
},
4.style样式
.callbackp{ font-size:16px; color:#fff; background:rgba(56,57,58,0.5); border-radius:50%; text-align:center; width:50px; height:50px; line-height:50px; font-family:PingFangSC; font-weight:600; box-shadow:0010px#fff; } .callbackimg{ display:block; width:50px; height:50px; box-shadow:0010pxrgb(133,129,129); border-radius:50%; background:#fff; } .callback{ position:fixed; top:40px; left:20px; z-index:99999; } .float{ position:fixed; right:20px; top:60%; touch-action:none; text-align:center; width:50px; height:50px; border-radius:24px; line-height:48px; color:white; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。