微信原生小程序一键制作悬浮球

微信小程序悬浮球效果 用的是微信文档里的组件movable-area和movable-view <movable-area class="movable-area"> <movable-view class="movable-view" x="{{x}}" y="{{y}}" direction="all" bindchange="bindcmove" bindtou 阅读详情
// back-home.js
Component({
    properties: {
      itemWidth: {
        type: Number,
        value: 64,
      },
      itemHeight: {
        type: Number,
        value: 64,
      },
      gapWidth: {
        type: Number,
        value: 10,
      },
      coefficientHeight: {
        type: Number,
        value: 0.72,
      },
    },
    data: {
      startX: 0,
      startY: 0,
      moveX: 0,
      moveY: 0,
      top: 0,
      left: 0,
      clientWidth: 0,
      clientHeight: 0,
    },
    attached() {
      const systemInfo = wx.getSystemInfoSync();
      this.setData({
        clientWidth:systemInfo.windowWidth,
        clientHeight:systemInfo.windowHeight
      })

      this.setData({
        left: this.data.clientWidth - this.data.itemWidth - this.data.gapWidth,
        top: this.data.clientHeight *this.data.coefficientHeight,
      });
    },
    methods: {
      handleTouchStart(e) {
          this.setData({
            startX:e.touches[0].clientX,
            startY:e.touches[0].clientY
          })
      },
      handleTouchMove(e) {
        const touch = e.touches[0];
        const offsetX = touch.clientX - this.data.startX;
        const offsetY = touch.clientY - this.data.startY;
        this.data.moveX = offsetX;
        this.data.moveY = offsetY;
        this.setData({
          left: this.data.left + offsetX,
          top: this.data.top + offsetY,
        });
        this.data.startX = touch.clientX;
        this.data.startY = touch.clientY;
      },
      handleTouchEnd() {
        this.adjustPosition();
        this.setData({
          moveX: 0,
          moveY: 0,
        });
      },
      goCreatePage() {
        this.triggerEvent('goManage');
      },
      adjustPosition() {
        if (this.data.left < 0  || this.data.left<this.data.clientWidth/3) {
          this.setData({ left: 0 });
        } else if (this.data.left > this.data.clientWidth - this.data.itemWidth - this.data.gapWidth || this.data.left>this.data.clientWidth/3) {
          this.setData({ left: this.data.clientWidth - this.data.itemWidth - this.data.gapWidth });
        }
  
        if (this.data.top < 0) {
          this.setData({ top: 0 });
        } else if (this.data.top > this.data.clientHeight - this.data.itemHeight - this.data.gapWidth) {
          this.setData({ top: this.data.clientHeight - this.data.itemHeight - this.data.gapWidth });
        }
      },
    },
  });
  

wxml文件

<!-- back-home.wxml -->
<view
  class="backHome"
  style="width: {{itemWidth}}px; height: {{itemHeight}}px; left: {{left}}px; top: {{top}}px;"
  bindtap="goCreatePage"
  bindtouchstart="handleTouchStart"
  bindtouchmove="handleTouchMove"
  bindtouchend="handleTouchEnd"
>
  <image src="../../assets/image/GoBook.png" mode="widthFix"></image>
</view>

wxss文件

/* back-home.wxss */
.backHome {
    position: fixed;
    z-index: 9;
  }
  
  .backHome image {
    width: 100%;
    height: 100%;
  }
  

微信小程序 实现可拖动悬浮图标 【代码】微信小程序 实现可拖动悬浮图标。 阅读详情

相关推荐

微信一键回顶全攻略:从状态栏到小程序的实现与排查

在移动端与网页开发中,滚动容器是决定长页面交互的核心概念。iOS 依靠 UIScrollView 的 scrollsToTop 属性实现状态栏点击回顶,而 Android 与 WebView 环境则需依赖系统辅助或自定义悬浮按钮。理解这些底层机制,有助于在不同场景下高效设计回顶功能。例如微信中,聊天列表、公众号文章、小程序分属原生列表、WebView 与独立容器,回顶方式各不相同;开发者在小程序里可借助 wx.pageScrollTo 或 scroll-view 的 scroll-top 快速实现平滑回顶,

weixin_42554162的博客 273

微信小程序—悬浮球弹出多个item

悬浮球弹出多个item这个效果应用的场景还是挺多的,小程序中实现比较简单,思路也比较清晰,所以写这个demo不为别的,只为熟悉一下小程序的动画操作。

WeiHan_Seven的博客 3044

突破微信小程序web-view限制:cover-view实现悬浮按钮全攻略

本文详细解析了微信小程序中web-view组件层级限制导致普通按钮无法悬浮显示的问题,并提供了使用cover-view组件实现悬浮按钮的完整解决方案。文章通过基础实现、深度实战案例、避坑指南及进阶优化技巧,帮助开发者彻底突破限制,打造功能完善且体验流畅的覆盖层交互,所有效果均需在真机上进行验证。

weixin_29015483的博客 615

使用 WLED 时 ESP32-S3 的 USB 口读不到串口日志怎么排查?检查 ARDUINO_USB_CDC_ON_BOOT 设置

在 WLED(用 ESP32 通过 WiFi 控制 WS2812B 等数字 RGB LED 的固件)项目里,用 PlatformIO 自行编译 ESP32-S3 板子并查看串口日志时,一种常见的情况是:固件能编译、能烧录,但接在 S3 的 USB 口上的监视器里什么都读不到。WLED 仓库的构建配置把原因指向一个编译宏:`ARDUINO_USB_CDC_ON_BOOT`。这个宏决定固件的 `Ser

gitblog_00995的博客 504

微信小程序 - 详细实现可移动悬浮按钮,全屏悬浮元素图标可拖动拖拽并自动吸附边缘,微信小程序实现悬浮球吸附边缘+计算靠边靠拢效果(详细代码,拖拽中途放手,靠左就自动跑到屏幕左侧,反之靠右跑到屏幕右侧)

微信小程序,vue2,vue3,微信小程序悬浮功能小按钮,自动吸附边缘效果,微信小程序之可拖动悬浮按钮的实现,如何实现靠近边缘自动吸住功能,小程序右下角的悬浮效果,实现可拖动悬浮图标,自动向两边靠拢,悬浮按钮的实现,微信小程序悬浮球效果,微信小程序(可拖动悬浮按钮)当靠近屏幕边缘时会磁吸靠近,如何实现全局悬浮按钮,悬浮球判断吸附在左右,全屏悬浮能拖着走,小程序怎么做悬浮图标靠近左右两侧能吸附住,悬浮菜单按钮,悬浮球可拖拽,全局悬浮球,全局悬浮框,实现悬浮按钮可拖动,自动吸附边缘效果,若按钮此时位于页面中间偏

🏆 前端领域优质创作者 1万+

uniapp开发微信小程序可拖拽悬浮球效果

事件:当手指在屏幕上滑动的时候连续地触发。事件:当系统停止跟踪触摸的时候触发。关于这个事件的确切出发时间,文档中并没有具体说明,咱们只能去猜测了。事件:当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发。事件:当手指从屏幕上离开的时候触发。:触摸目标在视口中的x坐标。:触摸目标在视口中的y坐标。:触摸目标在页面中的x坐标。:触摸目标在页面中的y坐标。:触摸目标在屏幕中的x坐标。:触摸目标在屏幕中的y坐标。:触目的DOM节点目标。:标识触摸的唯一ID。我这是封装成组件形式。

weixin_44385447的博客 1969

uniapp打造全局悬浮球:跨平台拖拽与智能边缘吸附实战

本文详细介绍了如何使用uniapp实现全局悬浮球功能,包括跨平台拖拽和智能边缘吸附的实战技巧。通过movable-area组件和动态屏幕尺寸计算,开发者可以高效构建适用于微信小程序、H5和App的悬浮球功能,提升用户体验和操作效率。

efc123456的博客 859

微信小程序 + Django 在线点餐系统:从建表到部署的完整实践

前后端分离是现代Web开发的主流架构,前端负责交互展示,后端提供数据接口。微信小程序作为轻量级前端载体,在企业应用中广泛使用;Django作为Python全栈框架,以其高效的ORM和DRF快速构建RESTful API著称。在在线点餐场景中,两者结合能实现从菜单浏览、购物车到订单状态流转的完整业务闭环。本文围绕这一技术组合,深入讲解数据模型设计、接口权限控制、订单幂等性处理等工程实践,并分享前后端联调与部署上线的关键避坑点,帮助开发者理解如何将理论技术落地为可运行的商业系统。

cuankuangzhong6373的博客 398

微信小程序:实现可拖动悬浮图标(包括按钮角标的实现)

微信小程序:实现可拖动悬浮图标 在制作商城类微信小程序的过程中,我们经常会碰到需要增加可拖动悬浮图标的情况,本文简单的介绍一下可拖动悬浮按钮的实现。 运行截图: 主要代码: js: var startPoint Page({ data: { //按钮位置参数 buttonTop: 0, buttonLeft: 0, windowHeight: '', windowWidth: '', //角标显示数字 corner_data:0, },

botellei的博客 1万+

uniapp精仿支付宝UI源码拆解:从页面还原到打包上线全攻略

跨端开发中,uniapp凭借Vue语法、多端编译能力和成熟的插件生态,成为快速搭建高还原度UI Demo的热门选择。本文从移动端交互的底层概念讲起,解析下拉刷新与滚动冲突的原理与解决思路,并针对定位精度问题说明gcj02与wgs84坐标系的区别及H5端SDK配置要点。在此基础上,围绕一套精仿支付宝UI的可运行源码,梳理底部TabBar自定义、金刚区布局、底部弹窗等核心页面的实现方案,同时涵盖支付宝小程序适配、WebView白屏优化、离线打包版本对应等工程实践。无论是初学uniapp的前端、备战面试的进阶者,

weixin_29005499的博客 346

小程序代码实现可拖动的悬浮球

微信小程序手势操作拓展插件,可拖拽的悬浮球。通过纯原生实现的,有可动可不动的两套效果。更多资源可私信我。哈哈哈

微信小程序知乎日报实战:首页轮播图与资讯列表完整实现

想用微信小程序做一个资讯类应用,却不知道首页的**轮播图**和**资讯列表**该怎么实现?本文以开源项目 wechat-miniprogram-examples 中的**知乎日报**小程序为例,带你从零看懂**微信小程序首页轮播图**的搭建思路、**资讯列表**的数据加载流程,以及下拉刷新、加载更多等实用技巧。项目代码结构清晰、注释完整,非常适合新手对照学习。 > 📦 项目位置:`wechat

gitblog_00480的博客 964

从零到一:AIC8800 USB-WiFi模块在Linux内核6.x下的驱动适配与避坑指南

本文详细介绍了AIC8800 USB-WiFi模块在Linux内核6.x下的驱动适配全流程,包括环境准备、源码编译、内核API变更处理及常见问题解决方案。重点针对驱动适配中的符号导出、设备ID识别和固件加载等核心挑战提供实用指南,帮助开发者高效完成硬件驱动兼容性调试。

k8l9m0n的博客 1027

通俗易懂的小程序入门指南

做传统网站前端开发的同学初次接触小程序,会有许多困惑:为什么没有div,view 是什么、怎么没有 ajax,wx.request 为什么是回调方式、预览怎么要用小程序开发者工具、APPID有什么用、安装npm包怎么还要构建、tabBar 是什么、语法怎么和vue很像但是有的部分又不同、@import 用法怎么和 css 中不同...本篇通过微信小程序(发布较早,影响力较大)来介绍小程序,帮助你快速认识小程序,并解决以上困惑。通过小程序工具,普通编译。

DotNet技术匠 1854

软件测试方法——等价类划分法详解

!如果下面这些资料用得到的话可以直接拿走:1、自学开发或者测试必备的完整项目源码与环境2、测试工作中所有模板(测试计划、测试用例、测试报告等)3、软件测试经典面试题4、Python/Java自动化测试实战.pdf5、Jmeter/postman接口测试全套视频获取6、Python学习路线图。

MXB1220的博客 1万+

从SolidWorks到URDF:插件使用、关节配置与PyBullet仿真避坑指南

本文提供了一份从SolidWorks导出URDF模型并导入PyBullet进行仿真的完整实战指南。详细讲解了SolidWorks插件的正确安装与配置、关节类型的选择与坐标系对齐的核心技巧,并针对PyBullet仿真中常见的模型散架、路径错误、物理属性异常等问题提供了深度避坑解决方案,帮助机器人开发者高效完成从设计到仿真的全流程。

weixin_29081101的博客 543

微信原生智能助手:从超级应用到智能中枢的技术演进与生态重塑

在人工智能技术快速发展的背景下,多模态大模型与智能体(Agent)技术正推动应用交互范式从被动搜索向主动服务转变。其核心原理在于通过深度语义理解与任务分解能力,将用户自然语言指令转化为可执行的操作序列,实现复杂任务的自动化编排。这一技术演进不仅提升了人机交互效率,更重塑了应用生态的价值链,使平台从信息通道升级为服务调度中枢。在即时通讯与数字生活领域,该趋势正催生新一代智能助手,它们深度集成于超级应用生态,通过安全可控的权限机制调用小程序、支付、社交等模块能力,为用户提供无缝的“吩咐式”服务体验。微信作为拥有

weixin_34248705的博客 307

如何使用 ESP32 CAM 进行自动车牌识别 (ANPR)

用于提取 JSON 值并在 OLED 上显示文本的函数。有一个可用的函数,即 extractJsonStringValue 来提取字符串值。它是独立函数,但您仍然可以使用一些 JSON 库来执行相同的功能。

jkh920184196的博客 1304

小李移动开发成长记 —— 大话小程序

小李移动开发成长记 —— 大话小程序 做传统网站前端开发的同学初次接触小程序,会有许多困惑:为什么没有div,view 是什么、怎么没有 ajax,wx.request 为什么是回调方式、预览怎么要用小程序开发者工具、APPID有什么用、安装npm包怎么还要构建、tabBar 是什么、语法怎么和vue很像但是有的部分又不同、@import 用法怎么和 css 中不同... 本篇通过微信小程序(发...

weixin_37075950的博客 1191

【2026年得物春招算法岗- 4月18日 -第二题- 老张爬山】(题目+思路+Java&C++&Python解析+在线测试)

这篇文章介绍了一个动态规划问题,解决老张在n天内安排爬山计划以最大化愉悦值的问题。题目允许最多k次打破"不能连续两天爬山"的规则限制。 摘要要点: 使用三维动态规划数组dp[i][j][s],表示第i天结束时已用j次机会、当天状态为s(0不爬/1爬)时的最大愉悦值 状态转移考虑两种情况:当天不爬山时取前一天两种状态的最大值;当天爬山时分别处理前一天不爬山和爬山(需消耗机会)的情况 最终结果为考虑所有可能用掉的k次机会后,最后一天两种状态的最大值 提供了Python、Java和C++三种实

m0_73659489的博客 1357

AutosarMCAL开发——基于EB MCU驱动

本文为博主个人学习总结记录,如有不正,欢迎指正。

qq_45583706的博客 922

微信助手插件功能七十五:启用右侧滑动返回

微信助手插件新增「启用右侧滑动返回」功能,允许用户从屏幕右侧边缘向左滑动返回,提升单手操作便利性。该功能兼容多数微信页面,不影响原有左滑返回操作,特别适合大屏手机用户和习惯MIUI系统的用户。使用简单,在插件中心开启即可生效。注意事项:可能与部分页面交互冲突,建议测试使用习惯;微信更新可能影响手势识别。插件仅供学习研究,使用风险需自行承担。

分享 Windows 系统部署、镜像封装、终端管理、故障排查与运维自动化实践,涵盖 Sysinternals、PowerShell 和 AI 工具应用。记录真实问题、探索过程与解决方法,也分享 AI 时代的学习心得和实践经验,让技术更易理解 2万+

上位机 寻边器 通讯实战

寻边器通讯接口实现 本文介绍了上位机与盖泽(Gazer)和JEL品牌寻边器的通讯接口实现方案。主要内容包括: 接口定义:创建了IAlignerOperation接口,定义了获取状态、控制运动、真空吸附等核心功能。 具体实现: 盖泽寻边器(GazerAlignerCjh):通过串口通讯,实现了回零、校准、移动位置等操作 JEL寻边器(JelAligner):同样基于串口通讯,包含错误处理、状态查询等功能 工厂模式:通过AlignerFactory工厂类根据设备品牌创建对应的实现对象。 设备加载:展示了如何在系

StevenChen的博客 377

我用 AI 做了一个「明星脸比对」小程序,三件开发工具轮着上

上个月我花了不少时间做了一个微信小程序—— 明星脸比对 ,上传一张照片就能知道你和哪位明星最像。后来又加了「夫妻相」和「跨性别撞脸」两个玩法,越做越上头。

250

AI硬件加速:CPU vs GPU性能对比

AI硬件加速:CPU vs GPU性能对比 关键词:人工智能、硬件加速、CPU、GPU、性能对比、硬件架构、并行计算、优化策略、项目实战 摘要: 本文将深入探讨AI

AI天才研究院 1914

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

mpx与px双金组合:尺寸单位换算与小程序适配实战

在前端开发中,CSS像素px、印刷单位pt、小程序响应式单位rpx/mpx共同构成了多端适配的基石。它们的核心区别在于:px是逻辑基准,pt是物理尺寸,rpx/mpx则基于750设计稿等比缩放。理解这些单位背后的换算原理(如1pt=1.333px、750rpx等于屏幕宽度),才能在不同设备上实现稳定且灵活的布局。尤其在微信小程序场景下,合理混用rpx/mpx与px——用rpx做容器和间距,用px做边框和圆角——可有效避免细线丢失或尺寸失衡。工程上可通过SCSS函数或postcss插件实现px到rpx的自动转

weixin_30652491的博客 317

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: vue悬浮球一键式制作
下一篇: css之overflow滚动条各个浏览器隐藏
Circle_Key
博客等级 码龄4年 107粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值