小程序定位到 胶囊的三个点大概中间

news2024/9/22 1:12:45

话不多说,先上效果图在这里插入图片描述
这个功能实现思路:

  1. 首先先拿到这一张整图(快捷,精确)
  2. 然后获取整个导航栏高度(自定义导航栏,非自定义导航栏忽略这一步)
  3. 获取三个点的做偏移量,把高度和偏移量给到一个定位到盒子,这个盒子里就放这个图片,然后给这个盒子再使用transform设置偏移量调整到一个合适的位置
    下面是代码步骤:
  <view class="tip" :style="[{ top: nav_height + 'px' }]">
                    <!-- <view style="height:80rpx;background-color: yellow;"></view>放置别的模块 -->
        <view class="care-box" v-if="dropToast">
              <view :class="['care',]" :style="[{left:dropOffset+'px'}]" @click.stop="()=>{}" :animation="animationData">
                    <image class="care-bgc" src="xxx.png" />
                          <view class="close-box" @click.stop="closeCare">
                          </view>
                </view>
       </view>

   </view>
	// 获取顶部导航栏
	getNav(){
    	const system = wx.getSystemInfoSync()
    	const res = uni.getMenuButtonBoundingClientRect()
		const statusHeight = res.top //胶囊距离顶部
		const navHeight = res.height //胶囊高度
		// 胶囊顶部距离状态栏的距离(等同于胶囊底部与页面顶部的距离)
		const spacing = res.top - system.statusBarHeight
		// 页面纵标的起始位置
		const pageStart = res.bottom + spacing
		// 根据需要多几个px偏移量
		this.nav_height = pageStart + 3 + 'px'
         console.log(pageStart)
	}
	// 获取三个点中间的那个左偏移量
     getOffSet() {
          const rect = wx.getMenuButtonBoundingClientRect();
           const drop = Math.floor(rect.width/2/2)
           this.dropOffset = rect.left + drop
     },	
    .tip {
        position:fixed;
        left:0;
        right:0;
        z-index: 999;
    }
    .care-box {
        position: relative;
        width: 100%;
        display:flex;
        transform: translateY(10rpx);
        .care {
            position: absolute;
            bottom:0;
            transform: translate(-55%,90%);
            opacity:0;
            margin-right:12rpx;
            .care-bgc {
                width: 286rpx;
                height: 83rpx;
            }
            .close-box {
                    position: absolute;
                    z-index: 11;
                    top: 10rpx;
                    right: 0rpx;
                    width: 50rpx;
                    height: 40rpx;
                }

        }
    }

end !

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/902106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

终极Shell:Zsh(CentOS7 安装 zsh 及 配置 Oh my zsh)

CentOS7 安装 zsh 及 配置 Oh my zsh 我们在通过Shell操作linux终端时&#xff0c;配置、颜色区分、命令提示大都达不到我们预期的效果或者操作较为繁琐。 今天就来介绍一款终极一个及其好用的类Linux系统中的终端软件,江湖称之为马车中的跑车,跑车中的飞行车,史称『终极 Shell…

Linux设置临时目录路径的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

详解junit

目录 1.概述 2.断言 3.常用注解 3.1.Test 3.2.Before 3.3.After 3.4.BeforeClass 3.5.AfterClass 4.异常测试 5.超时测试 6.参数化测试 1.概述 什么是单元测试&#xff1a; 单元测试&#xff0c;是针对最小的功能单元编写测试代码&#xff0c;在JAVA中最小的功能单…

SAP BTEs 业务交易事件/增强(Business Transaction Event)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、BTEs是什么&#xff1f; 二、使用步骤 1.查找BTE event 2.处理FM 总结 前言 SAP BTEs是一种新型的增强方式&#xff0c;可以通过事务代码FIFB打开&#…

Windows系统搭建Gitblit服务器

目录 介绍安装Java环境配置环境变量 下载Gitbilt配置Gitbilt 介绍 GitBlit是一个用于搭建和管理Git服务器的开源工具。它是使用Java语言编写的&#xff0c;并且需要Java环境来运行。 1、跨平台性&#xff1a;Java是一种具有跨平台性的编程语言&#xff0c;可以在多个操作系统…

知识图谱入门:使用Python创建知识图,分析并训练嵌入模型

本文中我们将解释如何构建KG、分析它以及创建嵌入模型。 构建知识图谱 加载我们的数据。在本文中我们将从头创建一个简单的KG。 import pandas as pd# Define the heads, relations, and tailshead [drugA, drugB, drugC, drugD, drugA, drugC, drugD, drugE, gene1, gene2,g…

08-MySQL-基础篇-约束

约束 前言约束示例 外键约束示例外键删除/更新行为语法CASCADESET NULL 前言 本篇来学习下MySQL表中字段的约束 约束 概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。目的&#xff1a;保证数据库中数据的正确、有效性和完整性。分类 …

Oracle故障案例之-19C时区补丁DSTV38更新

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&#x1f61…

基于jeecg-boot的flowable流程收回功能实现(全网首创功能)

更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/nbcio-boot 前端代码:https://gitee.com/nbacheng/nbcio-vue.git 在线演示(包括H5) : http://122.227.135.243:9888 对于之前的flowable流程,之前有撤回,拒绝,退回等…

如何做好服务性能测试

一、什么是性能测试 新功能上线或切换底层数据库或扩容调优&#xff0c;根据实际业务场景的需要&#xff0c;做必要的性能压测&#xff0c;收集性能数据&#xff0c;作为上线的基准报告。 性能测试一般分一下几个阶段&#xff1a; 1. 性能测试 并发量小&#xff08;jmeter 并…

【C++】详解内存中的堆和栈

2023年8月20日&#xff0c;周日早上 感觉很多东西还没吃透&#xff0c;很多疑问还没解决。 这篇文章可能会不定期更新。 还没解释为什么栈的空间有限&#xff0c;而堆的空间很大 还没解释栈和堆在内存中的位置 ...... 目录 怎么申请栈空间语法举例说明 怎么申请堆空间语法…

无涯教程-PHP - 常量声明

常量值不能更改。默认情况下&#xff0c;常量区分大小写。按照约定&#xff0c;常量标识符始终为大写。与变量不同&#xff0c;您不需要具有"$"的常量。 constant 函数 如名称所示&#xff0c;此函数将返回常量的值。 当您要检索常量的值但不知道其名称时&#xf…

6种方法Word中的页眉横线如何删除

01 如何给Word添加页眉&#xff1f; 方法1&#xff1a; 打开Word文档&#xff0c;将鼠标放在Word顶部&#xff0c;双击鼠标&#xff0c;就可以进入页眉编辑状态&#xff0c;这时候&#xff0c;直接添加页眉内容就好了。 方法2&#xff1a; 在Word文档顶部菜单栏点击【插入】…

拒绝摆烂!C语言练习打卡第四天

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;每日一练 &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、选择题 &#x1f4dd;1.第一题 &#x1f4dd;2.第二题 &#x1f4d…

【Python机器学习】实验14 手写体卷积神经网络(PyTorch实现)

文章目录 LeNet-5网络结构&#xff08;1&#xff09;卷积层C1&#xff08;2&#xff09;池化层S1&#xff08;3&#xff09;卷积层C2&#xff08;4&#xff09;池化层S2&#xff08;5&#xff09;卷积层C3&#xff08;6&#xff09;线性层F1&#xff08;7&#xff09;线性层F2 …

开启AI创新之旅!“华为云杯”2023人工智能应用创新大赛等你来挑战

简介 近年来&#xff0c;人工智能技术的发展如日中天&#xff0c;深刻地改变着我们的生活方式和产业格局。 为了培养AI人才&#xff0c;持续赋能AI企业&#xff0c;推进国家新一代人工智能开放创新平台建设&#xff0c;打造更加完善的AI技术创新生态&#xff0c;华为&#xf…

从NLP到聊天机器人

一、说明 今天&#xff0c;当打电话给银行或其他公司时&#xff0c;听到电话另一端的机器人向你打招呼是很常见的&#xff1a;“你好&#xff0c;我是你的数字助理。请问你的问题。是的&#xff0c;机器人现在不仅可以说人类语言&#xff0c;还可以用人类语言与用户互动。这是由…

中大型企业选择CRM系统必备五大功能是什么?

中大型企业的特点是客户数量多&#xff0c;业务复杂&#xff0c;需求多样&#xff0c;对CRM系统的功能和作用有着更高的要求。下面我们从五个方面来为您介绍一下&#xff0c;中大型企业CRM系统的功能及作用。 客户信息管理&#xff1a; CRM系统可以帮助企业收集、存储、分析客…

【HCIP】VLAN实验

题目&#xff1a; 交换机上接口配置&#xff1a; SW1 [SW1]vlan batch 2 to 6 [SW1]port-group group-member Ethernet 0/0/2 Ethernet 0/0/4 [SW1-port-group]port link-type access [SW1-port-group]port default vlan 2 [SW1]int e 0/0/3 [SW1-Ethernet0/0/3]port hybrid …

c++如何解决内存泄漏

Linxu Linux系统下解决内存泄漏可以使用valgrind工具。 下载valgrind sudo apt-get install valgrind Linux下使用valgrind g -g -o app test.cpp valgrind --leak-checkfull ./app 代码如下 #include<iostream> using namesapce std; int main() {int i 0;int * …