微信小程序实现可拖动悬浮图标的示例代码
更新时间:2023年12月25日 15:52:51 作者:雪芽蓝域zzs
这篇文章主要介绍了微信小程序实现可拖动悬浮图标的示例代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
效果图
(1)wxml
<view class="float-layout" bindtap="floatClick" catchtouchmove="buttonMove" bindtouchstart="buttonStart" bindtouchend="buttonEnd" style="top:{{buttonTop}}px;left:{{buttonLeft}}px;"> <image class='float-img' src="../icon_service.png" mode="scaleToFill" /> <view class="float-txt" >问题反馈</view> </view>
(2)js
var startPoint Page({ data: { //按钮位置参数 buttonTop: 0, buttonLeft: 0, windowHeight: '', windowWidth: '', }, onLoad(options) { var that = this; wx.getSystemInfo({ success: function (res) { // 高度,宽度 单位为px that.setData({ windowHeight: res.windowHeight, windowWidth: res.windowWidth, buttonTop: res.windowHeight * 0.50, //这里定义按钮的初始位置 buttonLeft: res.windowWidth * 0.75, //这里定义按钮的初始位置 }) } }) }, /** * 可拖动悬浮按钮点击事件 */ floatClick: function () { wx.showToast({ title: 'd点击了', icon: 'success', duration: 1000 }) }, //以下是按钮拖动事件 buttonStart: function (e) { startPoint = e.touches[0] //获取拖动开始点 }, buttonMove: function (e) { var endPoint = e.touches[e.touches.length - 1] //获取拖动结束点 //计算在X轴上拖动的距离和在Y轴上拖动的距离 var translateX = endPoint.clientX - startPoint.clientX var translateY = endPoint.clientY - startPoint.clientY startPoint = endPoint //重置开始位置 var buttonTop = this.data.buttonTop + translateY var buttonLeft = this.data.buttonLeft + translateX //判断是移动否超出屏幕 if (buttonLeft + 50 >= this.data.windowWidth) { buttonLeft = this.data.windowWidth - 50; } if (buttonLeft <= 0) { buttonLeft = 0; } if (buttonTop <= 0) { buttonTop = 0 } if (buttonTop + 50 >= this.data.windowHeight) { buttonTop = this.data.windowHeight - 50; } this.setData({ buttonTop: buttonTop, buttonLeft: buttonLeft }) }, buttonEnd: function (e) {} })
(3)wxss
@import "../../public/wxss/base.wxss"; /**可拖动悬浮按钮样式表**/ .float-layout{ position: fixed; padding: 15rpx 30rpx; background-color: rgba(255, 255, 255, 0.755); border-radius: 30%; display: flex; align-items: center; justify-content: center; z-index: 99999; box-shadow: 1px 1px 1px 1px #ede7e7; display: flex; flex-direction: column; justify-content: center; align-items: center; } .float-img{ width: 75rpx; height: 75rpx; } .float-txt{ left:23%; top:27%; font-weight: 800; font-size: 32rpx; color: #3691FB; }
到此这篇关于微信小程序 实现可拖动悬浮图标的文章就介绍到这了,更多相关微信小程序悬浮图标 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
相关文章
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
这篇文章主要介绍了JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)的相关资料,需要的朋友可以参考下2016-01-01在Javascript操作JSON对象,增加 删除 修改的简单实现
下面小编就为大家带来一篇在Javascript操作JSON对象,增加 删除 修改的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-06-06
最新评论