页面显示图片列表,点击放大和缩小展示

2024-08-28 19:12

本文主要是介绍页面显示图片列表,点击放大和缩小展示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java后台方法,从数据库中取出存储文件的地址信息,将string类型转换成list

@GetMapping("/detail/{id}")public String detail(@PathVariable("id") Long id, ModelMap mmap) {TbOutKeyStorage tbOutKeyStorage = tbOutKeyStorageService.selectTbOutKeyStorageById(id);String annexPath = tbOutKeyStorage.getAnnexPath();List<String> list = new ArrayList<>();if (annexPath!=null && !annexPath.isEmpty()){list = Arrays.asList(annexPath.split(","));}mmap.put("businessImgList",list);return prefix + "/detail";}

前端Html代码,需要通过下载方法加文件路径获取图片信息

<div class="col-sm-6"><div class="vertical-timeline-block"><div class="vertical-timeline-icon navy-bg"><i class="fa fa-photo"></i></div><div class="vertical-timeline-content"><h2>业务手续</h2><div class="vertical-timeline-content" th:each="imgItem:${businessImgList}"><img style="width: 95%" th:src="@{/common/downloadChart(fileName=${imgItem})}" onclick="previewImagePop(this)"/></div></div></div></div>
</div>

前端Js点击缩放方法,图片右上角有x,或者点击空白缩小图片

//预览
function previewImagePop(_that) {// 图片预览事件var src = $(_that).attr('src');var target = $(_that).data('target') || "self";if ($.common.equals("self", target)) {var height = $(_that).data('height') || "auto";var width = $(_that).data('width') || "auto";layer.open({id: "div_img", /* 给个固定的ID,方便后面查找元素 */title: false,type: 1,closeBtn: true, /* 关闭按钮 */shadeClose: true, /* 点击阴影区域关闭弹窗 */area: ['auto', 'auto'],content: "<img src='" + src + "' height='" + height + "' width='" + width + "'/>",success: function (layero, index) {// 图片加载完成后,再次处理图片宽度$('#div_img > img', layero).on('load', function () {// 获取图片宽和高let imgElement = $('#div_img > img', layero);let imgWidth = imgElement.width();let imgHeight = imgElement.height();// 获取 mainContent 宽和高let mainContent = $('#content-main', window.parent.document);if (mainContent.length <= 0) {/* 修正mainContent:如果在新窗口中打开链接时,没有父级窗口 */mainContent = $(window);}let mainContentWidth = mainContent.width();let mainContentHeight = mainContent.height();/* 计算图片的宽度 */let newImgWidth = imgWidth;/* 图片超宽时,将图片的宽度设置为当前窗口的95%。图片高度auto */if (imgWidth > mainContentWidth * 0.95) {newImgWidth = mainContentWidth * 0.95;}/* 图片超高时,计算一个让图片不超高的宽度。图片高度auto */if (imgHeight > mainContentHeight * 0.95) {let tmpNewImgWidth = imgWidth * (mainContentHeight * 0.95 / imgHeight);if (newImgWidth > tmpNewImgWidth) {newImgWidth = tmpNewImgWidth;}}/* 重新设置图片的宽度、高度 */// 图片容器的高度设置为auto,不设置时,该容器的高度为固定值$("#div_img", layero).height('auto');// 指定图片的宽度$("#div_img > img", layero).attr({width: newImgWidth});// 很重要。触发窗口的 resize 事件,让 layer 调整位置。$(window).resize();});}});} else if ($.common.equals("blank", target)) {window.open(src);}
}//移除
function deleteImg(_that) {$(_that).closest('div').remove();
}

这篇关于页面显示图片列表,点击放大和缩小展示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115636

相关文章

Python中DataFrame转列表的最全指南

《Python中DataFrame转列表的最全指南》在Python数据分析中,Pandas的DataFrame是最常用的数据结构之一,本文将为你详解5种主流DataFrame转换为列表的方法,大家可以... 目录引言一、基础转换方法解析1. tolist()直接转换法2. values.tolist()矩阵

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

python展开嵌套列表的多种方法

《python展开嵌套列表的多种方法》本文主要介绍了python展开嵌套列表的多种方法,包括for循环、列表推导式和sum函数三种方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、嵌套列表格式二、嵌套列表展开方法(一)for循环(1)for循环+append()(2)for循环+pyPhWiFd

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.