uniapp中实现瀑布流 短视频页面展示

news2024/9/20 6:12:22

直接上干货
第一部分为结构

<swiper class="list" :current='index' @change="swiperchange" @scrolltolower="onReachBottom">
			<swiper-item style="overflow: scroll;" v-for="(item,index) in 2" :key="index">
					<view v-for="(item,index) in list " class="list_item" :style="{'--top2':item.top+'px','--left':item.left}">
                        <view class="" style="background: rgba(0, 0, 0, 0.5);">
                        	<view class="">
                        		<!-- <image class="fm" src="https://api.ccttiot.com/smartmeter/img/static/uGUX2rY4w3ZPvRhrKpWw" mode=""> -->
                        		<image class="fm" :src="item.url" mode="widthFix"></image>
                        	</view>
                        	<view class="wz">
                        		<view class="title">
                        			的故事吧概念啊啊啊啊啊啊啊
                        		</view>
                        		<view class="xx">
                        			<image class="tx" src="https://api.ccttiot.com/smartmeter/img/static/u8HN5WcA04XMKLsMnr2P"
                        				mode=""></image>
                        			<view class="username">
                        				皮蛋瘦肉...
                        			</view>
                        			<image class="sc" src="https://api.ccttiot.com/smartmeter/img/static/uQJ3tBEKEmeC4jexhNgK"
                        				mode=""></image>
                        			<view class="dz">
                        				3056
                        			</view>
                        		</view>
                        	</view>
                        </view>
						<view class="kong" style="width: 100%;height: 20rpx;background-color: transparent;"></view>
					</view>
			</swiper-item>
		</swiper>


第二部分为样式
 

		.list {
			width: 100%;
			margin-top: 36rpx;
			display: flex;
			justify-content: space-between;
			padding-right: 36rpx;
			flex-wrap: wrap;
			height: 80vh;
			overflow: scroll;
			box-sizing: border-box;
		    position: relative;
			.list_item:last-of-type{
				padding-bottom: 200rpx;
			}
			.list_item {
				width: 326rpx;
				box-sizing: border-box;
				margin-top: 22rpx;
				overflow: hidden;
		        margin-left: 34rpx; 
				break-inside: avoid;
				position: absolute;
				// 设置为变量
				top: var(--top2);
				left: var(--left);
				.fm {
					width: 100%;
					height: 326rpx;
					border-radius: 10rpx;
					object-fit: cover;
				}
		
				.wz {
					padding: 18rpx 16rpx;
					padding-top: 0 !important;
					box-sizing: border-box;
		
					.title {
						font-size: 28rpx;
						color: #FFFFFF;
						margin-top: 10rpx;
						text-align: left;
					}
		
					.xx {
						display: flex;
						margin-top: 12rpx;
						align-items: center;
		
						.tx {
							width: 32rpx;
							height: 32rpx;
							border-radius: 50%;
							margin-right: 10rpx;
						}
		
						.username {
							font-size: 24rpx;
							color: #FFFFFF;
							margin-right: 16rpx;
						}
		
						.sc {
							width: 25rpx;
							height: 24rpx;
							margin-right: 8rpx;
						}
		
						.dz {
							font-size: 24rpx;
							color: #FFFFFF;
						}
					}
				}
		
			}
		}

第三部分为js部分
 

export default {
		data() {
			return {
				AllData: [],
				leftHeight: 0,
				rightHeight: 0,
				list: [{
						url: "https://api.ccttiot.com/smartmeter/img/static/ur3ZXP3az10GilTm9nOV",
						left: "50%",
						top: "0",
					}, {
						url: "https://api.ccttiot.com/smartmeter/img/static/uFo3Rj5OC6S3h0RNaZqf",
						left: "50%",
						top: "0",
					}, {
						url: "https://api.ccttiot.com/smartmeter/img/static/ur3ZXP3az10GilTm9nOV",
						left: "50%",
						top: "0",
					},
					{
						url: "https://api.ccttiot.com/smartmeter/img/static/u8HN5WcA04XMKLsMnr2P",
						left: "50%",
						top: "0",
					},
					{
						url: "https://api.ccttiot.com/smartmeter/img/static/uZQmeK9Fp2oHAnu3Yc3U",
						left: "50%",
						top: "0",
					},
					{
						url: "https://api.ccttiot.com/smartmeter/img/static/uGUX2rY4w3ZPvRhrKpWw",
						left: "50%",
						top: "0",
					},
					{
						url: "https://api.ccttiot.com/smartmeter/img/static/uZQmeK9Fp2oHAnu3Yc3U",
						left: "50%",
						top: "0",
					},
					{
						url: "https://api.ccttiot.com/smartmeter/img/static/u8HN5WcA04XMKLsMnr2P",
						left: "50%",
						top: "0",
					},
					{
						url: "https://api.ccttiot.com/smartmeter/img/static/uFo3Rj5OC6S3h0RNaZqf",
						left: "50%",
						top: "0",
					},
				],
				

			}
		},
		onLoad() {
            //在页面一开始就获取数据进行操作
			setTimeout(() => {
				uni.createSelectorQuery().selectAll('.list_item').boundingClientRect(data => {
					data.forEach((item) => {
						this.AllData.push(item.height)
					})
					for (let i = 0; i < this.AllData.length; i++) {
						// 判断赋值
						if (this.rightHeight < this.leftHeight) {
							// 设置位置
							this.list[i].left = '50%'
							// 先进行赋值
							this.list[i].top = this.rightHeight
							// 再进行累加
							this.rightHeight += this.AllData[i]
						} else {
							this.list[i].left = 0
							this.list[i].top = this.leftHeight
							this.leftHeight += this.AllData[i]
						}
					}
				}).exec()
			}, 500)
		},
		methods: {
			swiperchange(e){
				console.log(e.target.current);
				this.index = e.target.current
			},
		}
	}
</script>

最后附上效果图  当中我所使用的图片均为线上图片  

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

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

相关文章

day01-项目介绍及初始化-登录页

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 day01-项目介绍及初始化-登录页一、人力资源项目介绍1.1项目架构和解决方案主要模块解决的问题 二、拉取项目基础代码1.引入库2.升级core-js版本到3.25.5按照完整依…

【高级篇】InnoDB引擎深入:核心机制与实战优化(十五)

引言 在探索了MySQL集群与分布式技术之后,我们进入了数据库引擎的核心地带——InnoDB。作为MySQL的默认存储引擎,InnoDB凭借其对事务的支持、行级锁定、高效的恢复机制以及复杂的内存管理,成为众多应用场景的首选。本章,我们将深入InnoDB的内部机制,透彻理解锁管理、事务…

【数据结构】计数排序等排序

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

【人工智能学习之图像操作(四)】

【人工智能学习之图像操作&#xff08;四&#xff09;】 图像金字塔高斯金字塔拉普拉斯金字塔 模板匹配单对象匹配多对象匹配无缝融合Canny边缘提取算法 轮廓轮廓查找与绘制面积&#xff0c;周长&#xff0c;重心轮廓近似凸包与凸性检测边界检测轮廓性质 图像金字塔 高斯金字塔…

同步时钟:北斗/GPS卫星、电信基站、NTP以太网校时方式的区别

同步时钟是保证各设备时间统一的重要装置&#xff0c;广泛应用于电力、通信、金融、学校、医院、地铁等多个领域。目前&#xff0c;常用的同步时钟方式包括&#xff1a;北斗/GPS卫星、电信基站、NTP以太网等。 下面跟着小编来看一下这些校时方式及他们的区别吧。 1. 北斗/GP…

Windows Server 2019部署网络负载均衡NLB服务的详细操作步骤

部署前准备 首先需要准备两台Windows Server 2019服务器&#xff0c;虚拟机创建请参考 VMware Workstation安装Windows Server2019系统详细操作步骤_安装windows server 2019操作系统(写出操作过程)-CSDN博客 克隆虚拟机请参考 VMware Workstation克隆虚拟机详细步骤-CSDN博…

解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)

错误消息 ssh: connect to host IP port 22: Connection timed out 指出 SSH 客户端尝试连接到指定的 IP 地址和端口号&#xff08;默认 SSH 端口是 22&#xff09;&#xff0c;但是连接超时了。这意味着客户端没有在预定时间内收到来自服务器的响应。 可能的原因 SSH 服务未…

第三节:如何理解Spring的两个特性IOC和AOP(自学Spring boot 3.x第一天)

大家好&#xff0c;我是网创有方&#xff0c;接下来教大家如何理解Spring的两个特性IOC和AOP。本节有点难&#xff0c;大家多理解。 IOC&#xff08;控制反转&#xff09; 定义与核心思想&#xff1a; IOC&#xff0c;全称Inversion of Control&#xff0c;即控制反转。 其核…

桶排序的图解过程、代码实现和使用场景

桶排序&#xff08;bucket sort&#xff09;是分治策略的一个典型应用。它通过设置一些具有大小顺序的桶&#xff0c;每个桶对应一个数据范围&#xff0c;将数据平均分配到各个桶中&#xff1b;然后&#xff0c;在每个桶内部分别执行排序&#xff1b;最终按照桶的顺序将所有数据…

【Electron】Electron入门实现

Electron 学习笔记 Electron 是一个开源框架&#xff0c;允许开发者使用网页技术&#xff08;HTML、CSS 和 JavaScript&#xff09;来构建跨平台的桌面应用程序。它由 GitHub 开发并维护&#xff0c;最初是为了支持开发 Atom 编辑器。Electron 结合了 Chromium&#xff08;用于…

【Lua小知识】Vscode中Emmylua插件大量报错的解决方法

起因 Vscode写Lua用的好好的&#xff0c;最近突然出现了大量报错。 看报错是有未定义的全局变量&#xff0c;这里查日志才发现是由于0.7.5版本新增诊断启用配置&#xff0c;所以导致了原先好的代码&#xff0c;现在出现了大量的报错。 解决方案一 最直接的方法当然是在配置中直…

什么是GPIO口,GPIO口最简单的input/output

目录 一&#xff0c;什么是GPIO口 二&#xff0c;GPIO内部结构 三&#xff0c;GPIO口工作模式 一&#xff0c;什么是GPIO口 1.GPIO口是通用输入输出端口&#xff08;General-purpose input/output&#xff09;的英文缩写&#xff0c;是所有的微控制器必不可少的外设之一&…

没有兴趣爱好的我,怎么填报高考志愿选专业?

这是我从知乎看来的一个问题&#xff0c;也在知乎做了回复&#xff0c;顺便摘录下来做个记录。 原文是&#xff1a;以为考完了就走向人生巅峰了&#xff0c;谁知道会这么down。我爸这两天一直追着问我有什么理想&#xff0c;搞得我很难受。过去的十几年里&#xff0c;我对人生都…

stm32cubemx,adc采样的几种方总结,触发获取adc值的方法dma timer trigger中断

stm32cubemx adc采样的几种方总结&#xff0c;触发获取adc值的方法 timer trigger中断 方法1&#xff0c;软件触发方法2&#xff1a;,Timer触发ADC采集通过DMA搬运 触发获取adc值的方法 Regular Conversion launched by software 软件触发 调用函数即可触发ADC转换 Timer X Cap…

虹科技术丨跨越距离障碍:PCAN系列网关在远程CAN网络通信的应用潜力

来源&#xff1a;虹科技术丨跨越距离障碍&#xff1a;PCAN系列网关在远程CAN网络通信的应用潜力 原文链接&#xff1a;虹科技术 | 跨越距离障碍&#xff1a;PCAN系列网关在远程CAN网络通信的应用潜力 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; #PCAN #网关 #CA…

Nuxt3 的生命周期和钩子函数(四)

title: Nuxt3 的生命周期和钩子函数&#xff08;四&#xff09; date: 2024/6/28 updated: 2024/6/28 author: cmdragon excerpt: 概述了Nuxt3的六个关键生命周期钩子用途&#xff1a;modules:before至build:before&#xff0c;指导如何在应用初始化、模块管理、配置解析、模…

【ajax实战07】文章筛选功能

本文章目标&#xff1a;根据筛选条件&#xff0c;获取匹配数据展示 本章**“查询参数对象”指的是&#xff0c;要“获取文章列表”功能**中服务器接口要求配置的对象 实现步骤如下&#xff1a; 一&#xff1a;设置频道列表数据 二&#xff1a;监听筛选条件改变&#xff0c;…

android Studio 无线开发调试: PC机远程安卓电脑 免费

背景 公司的安卓机比较大&#xff0c;还有连接着串口设备不好挪动。 但是遇到问题调试很麻烦。想找到一套远程调试方法。 实现 要求&#xff1a; adb android Studio 2023.3.1 安卓机IP:1928.168.1.228 直接用adb远程连接&#xff1a;adb connect 1928.168.1.228 默认端口…

查看当前服务器Kafka是否已启动

# 查看当前系统中的java进程 # -ml 详细内容 jps -ml | grep Kafka

Thermo Fisher Scientific赛默飞检测扫描架IPC电路板维修WAH402290

美国Thermo Fisher赛默飞世尔光谱仪IS10 IS5光谱仪主板维修iCAP6000/iCAP7000/iCAP7400&#xff1b;热电质朴分析仪电路板维修 公司仪器维修设备备有三相交流电源,变频电源&#xff0c;无油空压气源&#xff0c;标准化的维修平台、电子负载&#xff0c;耐压测试仪、老化台车和各…