1. 需求:页面顶部展示n个小图标。当选中某个图标时,下方视图会相应切换;反之,当滑动下方视图时,顶部选中的图标也会同步更新。

2. 思路: 上方scroll-view 区域渲染图标,并且可左右滑动,下方使用swiper可以左右滑动。

3. 代码实现

  1. 上方图标渲染

(1)将 scroll-x 属性设为 true 以启用左右滑动功能,同时动态绑定 scroll-left 属性实现上下联动滑动效果。

<scroll-view scroll-x="true" class="view_top" :scroll-left="scrollWidth" enhanced="true" :scroll-with-animation="true" :show-scrollbar="false"><view class="icons"><view class="icon_view" v-for="(item1, index1) in list1" :key='index1' :id="'tabNum' + index1"><image class="icon" :src="'item1.url'" mode="aspectFit" v-if="tIndex != index1" @click="chooseIcon(index1)"></image><image class="icon" :src="'item1.url" mode="aspectFit" v-if="tIndex == index1"></image><text class="icon_name" :class="taskIndex == index1 ? 'icon_name_select' : ''">{{item1.name}}</text></view></view>
</scroll-view>

(2)点击图标切换下方视图 chooseIcon

chooseIcon(index){this.tIndex = indexthis.tabCurrent = 'tabNum' + indexthis.getScrollWidth(index)
},

(3)css样式

.view_top{white-space: nowrap;width: 100%;height: 15vh;margin-top: 4vh;
}
.icons{height: 15vh;
}
.icon{width: 22vw;height: 10vh;
}
.icon_name{text-align: center;width: 22vw;display: block;font-size: 22rpx;
}
.icon_name_select{color: black;
}
.icon_view{display: inline-block;white-space: nowrap;position: relative;
}
  1. 下方视图渲染

(1)current绑定角标,@change监听滑动操作

<swiper class="Swiper" :current="tIndex" @change="swiperChange"><swiper-item class="Swiper_item" v-for="(item2, index2) in List2" :key='index2'><view class="Swiper_item_view"></view></swiper-item>
</swiper>

(2)滑动监听函数 swiperChange

swiperChange(e) {let index = e.detail.currentthis.chooseIcon(index)
},

(3)scrollWidth计算横向滚动参数,为确保位置的精准性,将vw转化为px

getScrollWidth(index) {var vw = (index )*22 /100 * this.vwsize;var data = vw + 'px';this.contentScrollW = data;
}

(4)css样式

.Swiper_item{display: flex;flex-direction: column;background-image: url('url');background-size: cover; background-position: center;overflow: auto;height: 100%;width: 100%;
}
.Swiper_item_view{display: flex;flex-direction: column;overflow: auto;height: 100%;width: 100%;position: relative;
}

以上是 uniapp 小程序实现上下轮播联动功能的具体方法。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

44.sentinel授权规则

授权规则是对请求者的身份做一个判断,有没有权限来访问。 需求:一般网关负责请求的转发到微服务,可以做身份判断。但是如果具体某个微服务的访问地址直接透露给了外部,不是经过网关访问过来的。那这种就没有经过网关也就无法进行身份判断了。这时候就需要sentinel的授权规…

[硬件电路-55]:绝缘栅双极型晶体管(IGBT)的原理与应用

一、IGBT的原理&#xff1a;MOSFET与BJT的复合创新IGBT&#xff08;Insulated Gate Bipolar Transistor&#xff09;是一种复合全控型电压驱动式功率半导体器件&#xff0c;其核心设计融合了MOSFET&#xff08;金属氧化物半导体场效应晶体管&#xff09;的高输入阻抗&#xff0…

取消office word中的段落箭头标记

对于一个习惯用WPS的人来说&#xff0c;office word中的段落箭头让人非常难受&#xff0c;所以想要取消该功能点击文件-更多-选项然后在显示界面&#xff0c;找到段落标记&#xff0c;取消勾选即可最终效果

Win11 上使用 Qume 搭建银河麒麟V10 arm版虚拟机

安装全程需要下载3个文件&#xff0c;可在提前根据文章1.1、2.1、2.2网址下载。 1 QEMU软件简介与安装流程 QEMU&#xff08;Quick Emulator&#xff09;是一个开源软件&#xff0c;可以模拟不同的计算机硬件行为&#xff08;如模拟arm架构&#xff09;&#xff0c;并可以创建…

[Linux]进程 / PID

一、认识进程 --- PCB写一个死循环程序执行起来&#xff0c;观察进程ps ajx 显示所有进程用分号可以在命令行的一行中执行多条指令&#xff0c;也可以用 && &#xff1a;ps ajx | head -1 && ps ajx | grep proc终止掉进程后再查看&#xff1a;所以 ./p…

【人工智能99问】门控循环但单元(GRU)的结构和原理是什么?(13/99)

文章目录GRU&#xff08;Gated Recurrent Unit&#xff09;的结构与原理一、GRU的结构与原理1. 核心组件2. 计算原理&#xff08;数学公式&#xff09;二、GRU的使用场景三、GRU的优缺点优点&#xff1a;缺点&#xff1a;四、GRU的训练技巧五、GRU的关键改进六、GRU的相关知识与…

去中心化协作智能生态系统

摘要&#xff1a; 本报告深入HarmonyNet系统的工程实现细节&#xff0c;从开发者视角出发&#xff0c;提供了模块化的组件规范、基于API的数据交互协议、可直接执行的业务逻辑流程以及经过优化的、可渲染的系统图表。报告的核心在于将V2.0的高层架构转化为具体的模块接口&#…

FPGA自学——整体设计思路

FPGA自学——整体设计思路 1.设计定义 写一套硬件描述语言&#xff0c;能够在指定的硬件平台上实现响应的功能 根据想要实现的功能进行设定&#xff08;如&#xff1a;让LED一秒闪烁一次&#xff09; 2.设计输入 方法&#xff1a; 编写逻辑&#xff1a;使用verilog代码描述逻辑…

ubuntu下好用的录屏软件

​ 以下是 vokoscreen 的安装教程,适用于 Linux 系统。vokoscreen 是一款简单易用的屏幕录制工具,支持录制屏幕、摄像头和音频。 安装 vokoscreen vokoscreen 提供了多种安装方式,包括通过包管理器、Deb 包或 AppImage 文件。 方法 1:通过 apt 安装(Ubuntu/Debian) su…

web安全漏洞的原理、危害、利用方式及修复方法

1. 原理 Web安全漏洞通常是由于Web应用程序在设计、编码或配置过程中存在缺陷导致的。这些缺陷可能使攻击者能够获取敏感数据、破坏应用程序或利用其进行其他恶意活动。2. 常见危害数据泄露&#xff1a;攻击者可能窃取用户的个人信息、密码、信用卡信息等敏感数据。会话劫持&am…

Linux—Linux中的权限管理

Linux中的权限管理前言目录一、shell命令以及运行原理二、Linux中的权限概念1、如何实现用户账号的切换2、如何仅提升当前指令的权限3、如何将普通用户添加到信任列表三、Linux中的权限管理1、文件访问者的分类&#xff08;人&#xff09;2、文件类型和访问权限&#xff08;事物…

解决在nuxt2框架中引入swiper报错:window is not defined

前言&#xff1a;最近帮助公司更新官网&#xff0c;我们公司为了加快首页加载速度采用了Nuxt框架&#xff0c;但是官网首页需要一个轮播图&#xff0c;但是安装之后&#xff0c;运行项目就开始报错&#xff1a;window is not defined&#xff0c;后来查阅了资找到了报错的原因以…

牛客NC14661 简单的数据结构(deque双端队列)

题目描述 栗酱有一天在网上冲浪的时候发现了一道很有意思的数据结构题。 这个数据结构形如一个“长条形”的容器&#xff0c;一开始该容器是空的&#xff0c;有以下七种操作&#xff1a; 111 aaa&#xff1a;从前面插入一个元素 aaa 222&#xff1a;从前面删除一个元素 333 a…

【AI大模型:架构实战】32、DeepSpeed大模型训练全解析:从技术原理到千亿参数实战优化指南

DeepSpeed作为微软开源的分布式训练框架,已成为大模型工业化训练的核心工具。它通过系统级创新突破了单卡显存限制,将千亿参数模型的训练成本降低75%以上,同时提升训练速度3-8倍。 本文整合2025年最新实践,从核心技术原理(如ZeRO优化、3D并行)到千亿参数模型实战流程,全…

GraphQL与REST在微服务接口设计中的对比分析与实践

问题背景介绍 在微服务架构中&#xff0c;服务之间的接口设计成为系统灵活性、可维护性和性能的关键。传统的REST API因其简单、成熟的生态而得到广泛应用&#xff0c;但在复杂业务场景下会面临接口粒度、版本兼容、数据冗余等挑战。GraphQL作为Facebook开源的查询语言&#xf…

Git分支管理与Stash技巧:从基础到高级工作流详解

引言Git作为现代软件开发的核心工具&#xff0c;其分支管理能力是支撑团队协作开发的基石。本文将系统讲解Git分支的创建、合并、冲突解决等基础操作&#xff0c;深入剖析分支底层原理&#xff0c;并介绍stash暂存技巧和业界主流的分支管理策略&#xff0c;帮助开发者构建高效的…

windows wsl ubuntu 如何安装 maven

命令 sudo apt update sudo apt install maven验证安装是否成功&#xff1a; $ mvn -versionApache Maven 3.6.3 Maven home: /usr/share/maven Java version: 1.8.0_402, vendor: Private Build, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre Default locale: en, platf…

Swift6.1 - 可选类型处理

目录1、nil2、可选绑定3、提供后备值4、强制解包5、隐式解包可选在可能缺失值的情况下&#xff0c;请使用 可选。可选代表两种可能性&#xff1a;要么 存在一个指定类型的值&#xff0c;并可以解包可选以访问该值&#xff1b;要么 根本就没有值。举一个可能缺失值的例子&#x…

【数据结构】关于链表的面试题

一、单链表逆置1、法一思路&#xff1a;通过两个辅助指针 p和 q&#xff0c;在遍历链表时逐个反转指针方向。p初始化为 第一个有效节点&#xff0c;用于遍历原链表&#xff1b;q初始化为 NULL&#xff0c;用于临时保存 p 的下一个节点。plist->next 被置为 NULL&#xff0c;…

LVS(Linux virual server)

LVS&#xff08;Linux virual server&#xff09; 系统性能扩展方式 Scale UP&#xff1a;增强单台服务器性能&#xff0c;适合单体应用&#xff0c;但有硬件限制。 Scale Out&#xff1a;增加服务器数量&#xff0c;适合分布式和集群系统&#xff0c;可灵活扩展。 集群&#x…