You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

切换缩略图后还原主图出现模糊问题的解决方法

解决图片切换回主图时模糊的问题

问题根源

你的代码里,点击缩略图时直接把缩略图的低分辨率图片路径赋值给了主图。原主图是高清的image-product-1.jpg,但切换回它时,你没有调用对应的高清图地址,反而用了低清的缩略图路径,导致低分辨率图片被放大后出现模糊。

解决方案

核心思路是给每个缩略图绑定对应的高清图地址,点击时加载高清图而非缩略图本身。具体实现如下:

修改后的代码示例

HTML

<div>
  <img src="./images/image-product-1.jpg" class="w-100 main-img" alt="产品主图">
</div>

<div class="d-flex mt-4 justify-content-center">
  <!-- 给每个缩略图添加data-src属性,存储对应高清图路径 -->
  <img src="./images/image-product-1-thumbnail.jpg" class="thumbnail t-0" data-src="./images/image-product-1.jpg" alt="原主图缩略图">
  <img src="./images/image-product-2-thumbnail.jpg" class="thumbnail t-1" data-src="./images/image-product-2.jpg" alt="产品缩略图2">
  <img src="./images/image-product-3-thumbnail.jpg" class="thumbnail t-2" data-src="./images/image-product-3.jpg" alt="产品缩略图3">
</div>

JavaScript

const thumbnails = document.querySelectorAll(".thumbnail");
const mainImg = document.querySelector(".main-img");

thumbnails.forEach(thumbnail => {
  thumbnail.addEventListener('click', function() {
    // 读取当前缩略图的data-src,直接赋值给主图
    mainImg.src = this.dataset.src;
  });
});

关键说明

  • 新增了原主图对应的缩略图t-0,让用户可以直接切换回初始高清图;
  • 所有切换操作都加载高清图,彻底避免低分辨率图片被拉伸放大导致的模糊;
  • 代码逻辑更简洁,新增缩略图时只需添加对应的data-src即可,无需修改JS判断逻辑。

内容的提问来源于stack exchange,提问作者Lycan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:21:25