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

js实现点击图片放大效果

实现点击图片后弹出一个遮罩层来放大显示图片的功能,可以使用简单的HTML和JavaScript来完成:

  1. HTML结构 - 包含图片和一个用于弹出的遮罩层。
  2. CSS样式 - 设置遮罩层和放大的图片样式。
  3. JavaScript逻辑 - 处理点击事件和遮罩层的显示与隐藏。

HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Image Zoom</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container"><img src="path/to/your/image.jpg" alt="Sample Image" id="image">
</div><!-- 遮罩层 -->
<div class="overlay" id="overlay"><img src="" alt="Zoomed Image" id="zoomedImage">
</div><script src="script.js"></script>
</body>
</html>

CSS (styles.css)

.container {text-align: center;
}img {max-width: 100%;cursor: pointer;
}.overlay {position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.8);display: none;align-items: center;justify-content: center;
}#zoomedImage {max-width: 80%;max-height: 80%;
}

JavaScript (script.js)

document.getElementById('image').addEventListener('click', function() {var overlay = document.getElementById('overlay');var zoomedImage = document.getElementById('zoomedImage');// 显示遮罩层overlay.style.display = 'flex';// 设置放大图片的源zoomedImage.src = this.src;
});// 当点击遮罩层时关闭它
document.getElementById('overlay').addEventListener('click', function() {this.style.display = 'none';
});

这段代码会创建一个包含一张图片的页面。当你点击这张图片时,会弹出一个遮罩层,里面显示放大的图片。再次点击遮罩层则会关闭遮罩层。

确保你将图片的路径替换为实际的图片文件路径,并且所有文件(HTML、CSS、JS)位于同一目录下或者正确地引用了文件路径。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 科研绘图配色大全
  • 0821作业+思维导图
  • C++ //练习 18.22 已知存在如下所示的类的继承体系,其中每个类都定义了一个默认构造函数:
  • 虚拟机安装centos7-桥接模式
  • docker部署postgresSQL 并做持久化
  • 【JAVA CORE_API】Day19 多线程API(2)、多线程并发安全问题、同步
  • etcd参数解释
  • 【MySQL 10】表的内外连接 (带思维导图)
  • 科技大厂对AI的垄断
  • Ansible:远程自动化运维
  • EmguCV学习笔记 VB.Net 6.1 边缘检测
  • 深入探讨 C++ 中的 `constexpr` 函数及其限制
  • UE5.4 - 编辑器页面和概念术语
  • 达梦数据库表结构导出到 Excel 教程
  • 【hot100篇-python刷题记录】【字母异位词分组】
  • angular2开源库收集
  • AngularJS指令开发(1)——参数详解
  • HTTP 简介
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Java,console输出实时的转向GUI textbox
  • javascript从右向左截取指定位数字符的3种方法
  • js中的正则表达式入门
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • oschina
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • storm drpc实例
  • Terraform入门 - 1. 安装Terraform
  • Twitter赢在开放,三年创造奇迹
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 分类模型——Logistics Regression
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 如何使用 JavaScript 解析 URL
  • 什么是Javascript函数节流?
  • 算法系列——算法入门之递归分而治之思想的实现
  • 优秀架构师必须掌握的架构思维
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​如何防止网络攻击?
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #每日一题合集#牛客JZ23-JZ33
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (2015)JS ES6 必知的十个 特性
  • (2020)Java后端开发----(面试题和笔试题)
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (javascript)再说document.body.scrollTop的使用问题
  • (Note)C++中的继承方式
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (南京观海微电子)——I3C协议介绍
  • (七)c52学习之旅-中断
  • (四)c52学习之旅-流水LED灯