logo 范 · 拾光录
网址收集 关于作者 Github Gitee
杂文随笔4
Hexo博客:基础使用Hexo博客:Next主题Hexo博客:Next进阶使用Hexo博客:Next高级配置
前端编程3
前端基础知识16
UniApp15
Vue框架19
Java编程7
Java基础知识14
SpringBoot31
SpringMVC14
MyBatis8
SpringCloud15
RocketMQ1
MyCat1
数据库4
MySQL6
Redis7
MongoDB10
H21
Java技术栈4
知识整理分布式锁的实现方案MySQL事务MySQL的锁
软件工具箱14
IDEAGitMavenGradleNginx安装Nginx配置JMeter压测OllamaPicGoRustFSVSCodeDockerObsidianObs录制
Linux知识11
树莓派安装及使用ArchLinux:常用软件ArchLinux:基础系统安装ArchLinux:深度优化ArchLInux:图形化界面安装ArchLinux:Nirifrp内网穿透Jar启动脚本Linux常用命令VirtualBox安装CentOSVirtualBox安装Ubuntu
Python编程6
Python基础知识Python语法yolo目标检测OpenCV的使用及树莓派平台condauv
创意设计2
Blender:入门知识UI设计基础知识
AI相关9
Claude CodeHermes AgentOpenAI基本使用OpenAI工具调用OpenAI记忆管理OpenAI推理执行OpenAI开发框架Langchainllama.cpp

实现的效果

CSS代码

/* 图片放大遮罩 */
.img-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.img-overlay img {
  max-width: 90vw;
  max-height: 90vh;
  transition: transform 0.1s;
}

JS代码

// 图片点击放大(滚轮缩放,点击任意位置关闭)
(function () {
  var overlay = null;
  var scale = 1;
  document.querySelectorAll("#content img").forEach(function (img) {
    img.addEventListener("click", function () {
      overlay = document.createElement("div");
      overlay.className = "img-overlay";
      var clone = img.cloneNode(true);
      clone.removeAttribute("width");
      clone.style.transform = "scale(1)";
      scale = 1;
      overlay.appendChild(clone);
      // 点击任意位置关闭
      overlay.addEventListener("click", function () {
        document.body.removeChild(overlay);
        overlay = null;
      });
      // 滚轮缩放
      overlay.addEventListener("wheel", function (e) {
        e.preventDefault();
        scale += e.deltaY < 0 ? 0.1 : -0.1;
        scale = Math.max(0.2, Math.min(5, scale));
        clone.style.transform = "scale(" + scale + ")";
      });
      document.body.appendChild(overlay);
    });
  });
})();
实现的效果
CSS代码
JS代码