首页 > 其他分享 >js实现点击图片放大效果

js实现点击图片放大效果

时间:2024-08-21 23:51:34浏览次数:6  
标签:遮罩 overlay js 点击 HTML 图片 zoomedImage 放大

实现点击图片后弹出一个遮罩层来放大显示图片的功能,可以使用简单的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)位于同一目录下或者正确地引用了文件路径。

标签:遮罩,overlay,js,点击,HTML,图片,zoomedImage,放大
From: https://blog.csdn.net/svygh123/article/details/141405419

相关文章

  • 【精品毕设推荐】基于SSM+jsp的人事管理信息系统设计与实现
    点击下载原文及代码,可辅助在本地配置运行摘 要现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本人事管理信息系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这......
  • 【精品毕设推荐】基于SSM+jsp的社区管理与服务系统设计与实现
    点击下载原文及代码,可辅助在本地配置运行摘要本社区管理与服务系统设计目标是实现社区信息化管理,提高效率,为广大社区用户提供更优质的服务。本文重点阐述了社区管理与服务系统的开发过程,以实际运用为开发背景,基于B/S结构,运用了Java技术和MYSQL数据库进行开发设计,充分保证......
  • 【精品毕设推荐】基于SSM+jsp的人才招聘网站系统设计与实现
    点击下载原文及代码,可辅助在本地配置运行摘要 随着科技的发展,人才招聘的方式也发生着改变。本基于ssm的人才招聘网站正是采用计算机技术和网络设计的新型系统,可以有效的把招聘信息与网络相结合,为用户提供工作帮助和管理需求。本系统采用mysql数据库存储数据,兼容性更强,可跨......
  • 【JS逆向】探索文章链接地址AES加密后如何再次替换变形
    一、加密后的数据变形二、加密函数的定义defencrypt_message(message):cipher=AES.new(key,AES.MODE_ECB)padded_message=pad(message.encode(),AES.block_size,style='pkcs7')cliphertext=cipher.encrypt(padded_message)returncliphert......
  • JS 读写剪贴板
    document.execCommandAPI复制操作复制时,先选中文本,然后调用document.execCommand('copy'):constinputElement=document.querySelector("#input");inputElement.select();document.execCommand("copy");注意:复制操作最好由用户触发,如果脚本自主执行,可能某些浏览器会报......
  • js面试题 图片懒加载!
    一、原理只加载可视区域内的图片,而那些还未滑动到可视区域的图片先不加载,直到用户滚动到这些资源即将可见的时候才进行加载。若一个页面有大量的图片资源,网页首次打开时,若同时加载完这些资源,需要消耗大量的时间,利用图片懒加载,先加载部分图片,既不会影响用户体验,又能大幅提升首......
  • js 手写图片懒加载插件
    一、目标模仿vue-lazyload插件只需将img标签的src属性名替换为自定义属性v-lazy,即可实现图片懒加载功能例如:二、实现不清楚图片懒加载原理的参考我的上一篇博客1.封装自定义插件:暴露一个对象,包含一个install方法先介绍一下自定义插件使用方法和通用写法://main.jsimp......
  • HT4832耳机放大器33mw免输出电容立体声耳机放大器
    ■特点无需大尺寸输出隔直电容以0V电位为参考输出;出色的低频表现:静态电流:3.6mA(PVDD=3.6V,Output=floating)关断电流:0.1uA单端或差分输入 内置输入电阻减少外部元器件数量系统噪声性能优良THD+N仅为:0.014%(3.6V,32ohm,20mw)功率输出:33mW(PVDD=3.6V,RL=32......
  • 跨域、JSONP、CORS、Spring、Spring Security解决方案
    概述JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。跨域是浏览器(如Chrome浏览器基于JSV8引擎,可以简单理解为JS解释器)的一种同源安全策略,是浏览器单方面限制脚本的跨域访问。因此,仅有客户端运行在浏览器时才存在跨域问题,才需要考虑如何解决这个问题。浏览器控制台......
  • 【Three.JS零基础入门教程】第七篇:材质详解
      前期回顾:【Three.JS零基础入门教程】第一篇:搭建开发环境【Three.JS零基础入门教程】第二篇:起步案例【Three.JS零基础入门教程】第三篇:开发辅助【Three.JS零基础入门教程】第四篇:基础变换【Three.JS零基础入门教程】第五篇:项目规划【Three.JS零基础入门教程】第六篇:物......