当前位置: 首页 > news >正文

数据图册页面(左边一列图片缩略图,右边展示图片大图)

最近要写这么一个页面,左侧一列图片缩略图,点击左侧缩略图后有选中效果,然后右侧展示图片原图,还能够左右翻页查看。
最后写了一个demo出来,demo还不是很完善,需要自己修改,后面我也给出了修改建议。

文章目录

      • demo的最终效果:
      • 修改说明
      • 页面源代码

demo的最终效果:

在这里插入图片描述

我这里数据是写死的:
url是获取的本地图片,测试时候可以直接这样写。
到时候有数据时,直接把url封装到这个数组结构中就可以了。
在这里插入图片描述

修改说明

这里说一下我对这个demo的修改,供大家参考:
1、我这里在左侧加了滚动条,查看缩略图列表,用的是el的这个组件<el-scrollbar>

2、右侧大图我又加了点击放大查看,用的是el的<el-image>的:preview-src-list属性,给这个属性绑定一个url数组,可以把这个对象数组的url属性封装到一个url数组中。

可以参考elementui官网的大图预览:
https://element.eleme.io/#/zh-CN/component/image

3、这个样式是左侧缩略图选中时的灰色选中效果,可以自行修改颜色。
.thumbnail.active {
background-color: #ccc;
}
4、可以把右侧大图的宽度定死,这样图片跳转按钮就不会来回跳了
5、还可以把跳转按钮做成循环的,这样到最后一页再跳转的时候就会直接到第一页。
循环的写法:
就是多加一个else判断

// 上一张图片prevImage() {if (this.currentIndex > 0) {this.currentIndex--;} else {this.currentIndex = this.images.length - 1;}},// 下一张图片nextImage() {if (this.currentIndex < this.images.length - 1) {this.currentIndex++;} else {this.currentIndex = 0;}},

页面源代码

<template><!-- 图片展示组件 --><div class="image-gallery"><!-- 缩略图列表 --><div class="thumbnail-list"><divv-for="(image, index) in images":key="index":class="['thumbnail', { active: index === currentIndex }]"@click="setCurrentIndex(index)"><img :src="image.url" alt="Thumbnail" /><div class="image-name">{{ image.name }}</div> <!-- 显示图片名称 --></div></div><!-- 图片展示器 --><div class="image-viewer"><div class="image-container"><!-- 左翻页箭头 --><div class="arrow left" @click="prevImage">&#8249;</div><!--        &lt;!&ndash; 当前选中的图片 &ndash;&gt;-->
<!--        <img :src="currentImage.url" alt="Full Size Image" />--><!-- 当前选中的图片 --><div class="image-wrapper"><div class="image-name">{{ currentImage.name }}</div> <!-- 显示图片名称 --><div class="image-name">{{ currentImage.summary }}</div> <!-- 显示图片名称 --><img :src="currentImage.url" alt="Full Size Image" /></div><!-- 右翻页箭头 --><div class="arrow right" @click="nextImage">&#8250;</div></div></div></div>
</template><script>export default {data() {return {// 图片对象数组,包含链接和名称images: [{ url: require('@/assets/01.png'), name: '图片1' ,summary:'图片介绍'},{ url: require('@/assets/02.png'), name: '图片2' ,summary:'图片介绍'},{ url: require('@/assets/03.png'), name: '图片3' ,summary:'图片介绍'},],// 当前选中的图片索引,初始值为 0currentIndex: 0,};},computed: {// 计算属性,返回当前选中的图片对象currentImage() {return this.images[this.currentIndex];},},methods: {// 设置当前选中的图片索引setCurrentIndex(index) {this.currentIndex = index;},// 上一张图片prevImage() {if (this.currentIndex > 0) {this.currentIndex--;}},// 下一张图片nextImage() {if (this.currentIndex < this.images.length - 1) {this.currentIndex++;}},},};
</script><style scoped>.image-gallery {display: flex;height: 100vh;}.thumbnail-list {width: 200px;background-color: #f5f5f5;overflow-y: auto;}.thumbnail {padding: 10px;cursor: pointer;border-bottom: 1px solid #ccc;}.thumbnail img {width: 100%;}.thumbnail.active {background-color: #ccc;}.image-viewer {flex: 1;display: flex;align-items: center;justify-content: center;}.image-container {position: relative;}.arrow {position: absolute;top: 50%;font-size: 24px;color: #fff;cursor: pointer;user-select: none;background-color: rgba(0, 0, 0, 0.3);padding: 4px 8px;}.arrow.left {left: 10px;}.arrow.right {right: 10px;}img {max-width: 100%;max-height: 100%;}.image-name {margin-top: 5px; /* 图片名称与缩略图之间的上边距 */text-align: center; /* 居中显示图片名称 */}/*小的图片查看器样式*/.image-wrapper {/*      position: relative;*/margin-top: 40px;}
</style>

相关文章:

数据图册页面(左边一列图片缩略图,右边展示图片大图)

最近要写这么一个页面&#xff0c;左侧一列图片缩略图&#xff0c;点击左侧缩略图后有选中效果&#xff0c;然后右侧展示图片原图&#xff0c;还能够左右翻页查看。 最后写了一个demo出来&#xff0c;demo还不是很完善&#xff0c;需要自己修改&#xff0c;后面我也给出了修改建…...

leetcode:105从前序与中序遍历序列构造二叉树

105&#xff1a;从前序与中序遍历序列构造二叉树 啊&#xff0c;好久都没有更新算法题目了。曾今是C&#xff0c;如今是Java&#xff0c;感慨啊。 像树这样的算法题&#xff0c;基本都逃不开递归。递归的思想是&#xff1a;将大任务拆分为小任务。我们不妨构建一个函数&#…...

H5前端开发——DOM

H5前端开发——DOM 在H5前端开发中,DOM(Document Object Model)是一个非常核心的概念,指的是文档对象模型。简单来说,DOM是浏览器将HTML文档转换为一棵树形结构的方式,这样我们可以通过JavaScript脚本语言来操作和修改HTML文档。 DOM模型由节点组成,节点包括元素(ELEM…...

专访 Web3Go 新产品 Reiki:培育 AI 原生数字资产与创意新土壤

从 DeFi 到 NFTFi、SocialFi&#xff0c;web3 从业者在尝试 crypto 与区块链技术能为我们的生活、创作、娱乐和文化带来何种新体验&#xff0c;而生成式人工智能的突破性发展则为我们与链上世界的交互、社区内容创作等带来了新的体验&#xff0c;改变互动、交易和价值创造方式。…...

Docker仓库harbor私服搭建

Harbor和Registry都是Docker的镜像仓库&#xff0c;但是Harbor作为更多企业的选择&#xff0c;是因为相比较于Regisrty来说&#xff0c;它具有很多的优势。 提供分层传输机制&#xff0c;优化网络传输 Docker镜像是是分层的&#xff0c;而如果每次传输都使用全量文件(所以用FT…...

【LangChain系列 11】Prompt模版——拼装组合

原文地址&#xff1a;【LangChain系列 11】Prompt模版——拼装组合 本文速读&#xff1a; 多prompt模版组合 单prompt模版拼装 在平常业务开发中&#xff0c;我们常常需要把一些公共模块提取出来作为一个独立的部分&#xff0c;然后将业务中去将这些模块进行组合。在LLM应用…...

JVM三色标记

三色标记 什么是三色标记法 三色标记法&#xff0c;也被称为Tri-color Marking Algorithm&#xff0c;是一种用于追踪对象存活状态的垃圾回收算法。它基于William D. Hana和Mark S. McCulleghan在1976年提出的两色标记法的基础上进行了改进。 与两色标记法只能将对象标记为“…...

UE5--物体卡片与材质入门

参考资料&#xff1a; 《Unreal Engine5 入门到精通》--左央 虚幻引擎5.2文档&#xff1a;https://docs.unrealengine.com/5.2/zh-CN/ 前言&#xff1a; 跟着左央老师的《Unreal Engine5 入门到精通》学习制作AI版胡闹厨房&#xff0c;把学习过程与学习到的东西归纳总结起来。 …...

ios 实现TEXT、DOC、PDF等文档读取与预览

文章目录 一、前言二、iCould相关配置三、功能实现3.1 UIDocumentPickerViewController 选取控制器3.2 读取文件3.3 文档预览3.3.1 下载并保存3.3.2 QLPreviewController预览文档四、总结一、前言 最近正在研发的项目有一个需求: 允许用户将iCloud中的文档上传,实现文件的流…...

智慧矿山:让AI算法提高未戴安全带识别率!

未穿戴安全带识别AI算法&#xff0c;作为智慧矿山的重要应用之一&#xff0c;不仅可以有效提高矿山工作人员的安全意识&#xff0c;还可以降低事故发生的概率。然而&#xff0c;识别准确率的提高一直是该算法面临的挑战之一。为了解决这个问题&#xff0c;研究人员不断努力探索…...

【Unity程序技巧】公共Update管理器

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…...

Node学习笔记之HTTP 模块

回顾&#xff1a;什么是客户端、什么是服务器&#xff1f; 在网络节点中&#xff0c;负责消费资源的电脑&#xff0c;叫做客户端&#xff1b;负责对外提供网络资源的电脑&#xff0c;叫做服务器。 http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块…...

SD NAND对比TF卡优势(以CSNP4GCR01-AMW为例)

最近做的一个项目&#xff0c; 需要加大容量存储&#xff0c;这让我想到之前在做ARM的开发板使用的TF卡方案&#xff0c;但是TF卡需要携带卡槽的&#xff0c;但是有限的PCB板布局已经放不下卡槽的位置。 这个时候就需要那种能够不用卡槽&#xff0c;直接贴在板子上面&#xff0…...

在Espressif-IDE中使用Wokwi仿真ESP32

陈拓 2023/10/17-2023/10/19 1. 概述 在Espressif-IDE v2.9.0版本之后可直接在IDE中使用Wokwi模拟器。 1.1 什么是 Wokwi 模拟器&#xff1f; Wokwi 是一款在线电子模拟器&#xff0c;支持模拟各种开发板、元器件和传感器&#xff0c;例如乐鑫产品 ESP32。 Wokwi 提供基于浏…...

vue3里面vant组件的标签页使用?

一、绑一个v-model事件 二、让activeName的初始为0也就是默认是显示第一个标签页的下标 三、给标签页下面的东西进行一个判断 想让哪个优先显示就把哪个判断作为初始值存入...

【CSS】使用 CSS 实现一个宽高自适应的正方形

1. 利用 padding 或 vw <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><metaname"viewport"content"widthdevice-width, initial-scale1.0"><title>Document</title><st…...

Java Stream流详解

Stream API主要提供了两种类型的操作&#xff1a;中间操作 和 终止操作。 中间操作 中间操作是返回一个新的流&#xff0c;并在返回的流中包含所有之前的操作结果。它们总是延迟计算&#xff0c;这意味着它们只会在终止操作时执行&#xff0c;这样可以最大限度地优化资源使用。…...

localforage-本地存储的优化方案

前言 前端本地化存储算是一个老生常谈的话题了&#xff0c;我们对于 cookies、Web Storage&#xff08;sessionStorage、localStorage&#xff09;的使用已经非常熟悉&#xff0c;在面试与实际操作之中也会经常遇到相关的问题&#xff0c;但这些本地化存储的方式还存在一些缺陷…...

自学SLAM(4)《第二讲:三维物体刚体运动》作业

前言 小编研究生的研究方向是视觉SLAM&#xff0c;目前在自学&#xff0c;本篇文章为初学高翔老师课的第二次作业。 文章目录 前言1.熟悉 Eigen 矩阵运算2.几何运算练习3.旋转的表达4.罗德里格斯公式的证明5.四元数运算性质的验证6.熟悉 C11 1.熟悉 Eigen 矩阵运算 设线性⽅程 …...

C++:容量适配器(栈、队列、优先级队列)

目录 1.容器适配器 4.1 什么是适配器 4.2 STL标准库中的容器适配器 2.stack的使用 2.1 STL库中对stack的实现 3.queue的使用 3.1 STL库中对queue的实现 4.priority_queue使用 4.1模拟实现 priority_queue 5.deque 的简介 1.容器适配器 4.1 什么是适配器 适配器是一种…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...