点击图片1.全屏阅览2.下载3.关闭 纯纯html css js
要实现图片点击全屏预览的功能,可以使用JavaScript和CSS来实现。以下是一个简单的示例代码:
html
<!DOCTYPE html>
<html>
<head><meta charsett="UTF-8"><title>图片点击全屏预览</title><style>/* 全屏预览样式 */.fullscreen {position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.8);display: flex;justify-content: center;align-items: center;z-index: 9999;}.fullscreen img {max-width: 90%;max-height: 90%;}.fullscreen img:hover {cursor: pointer;}/* 关闭按钮样式 */.close-btn {position: absolute;top: 10px;right: 10px;color: #fff;font-size: 24px;cursor: pointer;}/* 下载按钮样式 */.download-btn {position: absolute;bottom: 10px;right: 10px;color: #fff;font-size: 24px;cursor: pointer;}</style>
</head>
<body><img src="image.jpg" alt="图片" onclick="openFullscreen(this)"><script>function openFullscreen(img) {// 创建全屏预览容器var fullscreenDiv = document.createElement("div");fullscreenDiv.classList.add("fullscreen");// 创建关闭按钮var closeBtn = document.createElement("span");closeBtn.classList.add("close-btn");closeBtn.innerHTML = "×";closeBtn.onclick = function() {closeFullscreen();};fullscreenDiv.appendChild(closeBtn);// 创建下载按钮var downloadBtn = document.createElement("span");downloadBtn.classList.add("download-btn");downloadBtn.innerHTML = "↓";downloadBtn.onclick = function() {downloadImage(img.src);};fullscreenDiv.appendChild(downloadBtn);// 创建图片元素var fullscreenImg = document.createElement("img");fullscreenImg.src = img.src;fullscreenDiv.appendChild(fullscreenImg);// 添加全屏预览容器到页面document.body.appendChild(fullscreenDiv);// 禁用滚动document.body.style.overflow = "hidden";}function closeFullscreen() {// 移除全屏预览容器var fullscreenDiv = document.querySelector(".fullscreen");fullscreenDiv.parentNode.removeChild(fullscreenDiv);// 启用滚动document.body.style.overflow = "auto";}function downloadImage(src) {// 创建一个隐藏的链接并设置下载属性var link = document.createElement("a");link.href = src;link.download = "image.jpg";link.style.display = "none";// 将链接添加到页面并模拟点击document.body.appendChild(link);link.click();document.body.removeChild(link);}</script>
</body>
</html>
在上面的代码中,我们首先定义了一个全屏预览的样式,并在点击图片时调用openFullscreen函数。该函数会创建一个全屏预览容器,并在容器中显示图片。同时,我们还创建了关闭按钮和下载按钮,分别用于关闭全屏预览和下载图片。
点击关闭按钮时,调用closeFullscreen函数,移除全屏预览容器,并启用滚动。
点击下载按钮时,调用downloadImage函数,创建一个隐藏的链接,并设置链接的下载属性,然后模拟点击链接实现图片下载。
请注意,这只是一个简单的示例,实际的图片全屏预览功能可能需要更多的优化和处理,例如支持多张图片预览、滑动切换等。根据具体需求,您可以根据上述示例进行扩展和修改。
相关文章:
点击图片1.全屏阅览2.下载3.关闭 纯纯html css js
要实现图片点击全屏预览的功能,可以使用JavaScript和CSS来实现。以下是一个简单的示例代码: html <!DOCTYPE html> <html> <head><meta charsett"UTF-8"><title>图片点击全屏预览</title><style>…...
科技项目验收测试:验证软件产品功能与性能的有效手段
科技项目验收测试是验证软件产品功能与性能的重要手段,在项目开发中起到了至关重要的作用。本文将从产品质量、需求验证、性能测试等方面,探讨科技项目验收测试的有效手段。 1、产品质量保证是验收测试的核心 科技项目验收测试的核心目标是验证软件产品…...
Spring MVC学习笔记,包含mvc架构使用,过滤器、拦截器、执行流程等等
😀😀😀创作不易,各位看官点赞收藏. 文章目录 Spring MVC 习笔记1、Spring MVC demo2、Spring MVC 中常见注解3、数据处理3.1、请求参数处理3.2、响应数据处理 4、RESTFul 风格5、静态资源处理6、HttpMessageConverter 转换器7、过…...
【LeetCode 算法】Linked List Cycle 环形链表
文章目录 Linked List Cycle 环形链表问题描述:分析代码哈希快慢指针 Tag Linked List Cycle 环形链表 问题描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达…...
RedHat7.9安装mysql8.0.32 ↝ 二进制方式
RedHat7.9安装mysql8.0.32 ↝ 二进制方式 一、rpm方式安装1、检查是否安装了mariadb2、下载mysqlmysql8.0.323、上传解压4、创建安装目录,拷贝解压后的文件至安装目录/usr/local/mysql8.0/5、创建相关目录,开始安装6、创建mysql组和用户7、更改安装目录归…...
数据库面试题题
题干: -- 子查询 CREATE TABLE emp( empno INT, ename VARCHAR(50), job VARCHAR(50), mgr INT, hiredate DATE, sal DECIMAL(7,2), comm DECIMAL(7,2), deptno INT ) ; INSE…...
瑞吉外卖项目 基于spring Boot+mybatis-plus开发 超详细笔记,有源码链接
源码地址:https://gitee.com/programmer-xiao-kai/reggie_tack_out 前置知识: Java基础知识Java Web vueSpring BootSSMMaven 软件开发流程 角色分工 项目经理:对整个项目负责,任务分配、把控进度产品经理:进行需求调研,输出需…...
Redis Cluster 在Spring中遇到的问题
Redis集群配置可能会在运行时更改。可以添加新节点,可以更改特定插槽的主节点。还有可能因为master宕机或网络抖动等原因,引起了主从切换。 无法感知集群槽位变化 SpringBoot2.x 开始默认使用的 Redis 客户端由 Jedis 变成了 Lettuce,但是当…...
linux远程桌面管理工具 xrdp
Xrdp 是一个微软远程桌面协议(RDP)的开源实现,它允许你通过图形界面控制远程系统。通过 RDP,你可以登录远程机器,并且创建一个真实的桌面会话,就像你登录本地机器一样。 如何在Ubuntu 20.04 上安装 Xrdp 服…...
硬件-8-操作系统的历史
操作系统的最强入门科普(Unix/Linux篇) 操作系统的发展史(DOS/Windows篇) Mac操作系统进化史 手机操作系统的沉浮往事(上) 手机操作系统的沉浮往事(下) 1 操作系统种类 我们天天都…...
self.register_buffer()中的值发生变化
PyTorch中定义模型时,有时候会遇到self.register_buffer(name, Tensor)的操作,该方法的作用是定义一组参数,该组参数的特别之处在于:模型训练时不会更新(即调用 optimizer.step() 后该组参数不会变化,只可人…...
[Tools: Pycharm] Bug合集
1. Debug mode:Pycharm不显示变量值(Unable to display frame variables);在python console中交互不输出值 选择Gevent compatible:File > Settings > Build, Execution, Deployment > Python Debugger >…...
【JAVASE】循环结构
⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈Java 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 循环 1. 循环结构1.1 while 循环1.2 bre…...
NoSQL之Redis配置使用
目录 一、关系数据库与非关系型数据库 1.1.关系型数据库的概述 1.2关系型数据库的优缺点 1.2.1优点 1.2.2缺点 1.3.非关系型数据库的概述 二.关系数据库与非关系型数据库的区别 2.1数据存储方式不同 2.2扩展方式不同 2.3对事务性的支持不同 2.4非关系型数据库产生背景 2…...
Ansible最佳实践之Playbook使用过滤器处理网络地址
写在前面 使用过滤器检查、验证和操作包含网络信息的变量理解不足小伙伴帮忙指正 傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去…...
测试常见前端bug
目录 协作 测试方法 标签:标签 内容/ref/ 判断 arr&&arr.length 交互 样式不生效:devtools查找,编译前的标签,运行时不一定存在 可交互的需要提示 hover样式 没有交互逻辑,就不要设置交互 无法交互…...
【Python数据分析】Python常用内置函数(一)
🎉欢迎来到Python专栏~Python常用内置函数(一) ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:Python学习专栏 文章作者技术和水平有限,如果文…...
OpenCV图像处理-图像分割-MeanShift
MeanShift 1. 基本概念2.代码示例 1. 基本概念 MeanShift严格说来并不是用来对图像进行分割的,而是在色彩层面的平滑滤波。它会中和色彩分布相近的颜色,平滑色彩细节,侵蚀掉面积较小的的颜色区域,它以图像上任意一点P为圆心&…...
【Rust 基础篇】Rust Trait 实现:灵活的接口抽象
导言 Rust是一种以安全性和高效性著称的系统级编程语言,其设计哲学是在不损失性能的前提下,保障代码的内存安全和线程安全。为了实现这一目标,Rust引入了"所有权系统"、"借用检查器"等特性,有效地避免了常见…...
【嵌入式Linux项目】基于Linux的全志H616开发板智能家居项目(语音控制、人脸识别、安卓APP和PC端QT客户端远程操控)有视频功能展示
目录 一、功能需求 二、开发环境 1、硬件: 2、软件: 3、引脚分配: 三、关键点 1、设计模式之工厂模式 2、wiringPi库下的相关硬件操作函数调用 3、语音模块的串口通信 4、线程 5、摄像头的实时监控和拍照功能 6、人脸识别 四、编…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
