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

如何使用jQuery实现选中图片在侧边同步展示的功能?

修改说明

在现有代码基础上新增右侧预览区域、同步更新选中图片地址即可实现需求,完整可运行代码如下:

HTML代码

<script src="https://code.jquery.com/jquery-3.1.0.js"></script>

<!-- 新增外层布局容器实现左右排列 -->
<div style="display: flex; gap: 40px; align-items: flex-start;">
  <div id="wrapper">
    <div id="region1" class="image-container">
      <img src="https://cdn.mos.cms.futurecdn.net/DEpYy8jSdvD9dkvVDSPNoD.jpg" alt="">
    </div>
    <div id="region2" class="image-container">
      <img src="https://www.starwarsnewsnet.com/wp-content/uploads/2014/05/star-20wars-20video-20games-20hoth-20atat-20empire-20at-20war-201680x1050-20wallpaper_wallpaperswa.com_551.jpg" alt="">
    </div>
    <div id="region3" class="image-container">
      <img src="https://www.austinchronicle.com/binary/e3fd/AllisonLefcort_CaptainPhasma_Add.jpg" alt="">
    </div>
    <div id="region4" class="image-container">
      <img src="https://cdn.mos.cms.futurecdn.net/ew7hxbJKwPewaRmjYW79bi.jpg" alt="">
    </div>
    <div id="region5" class="image-container">
      <img src="https://www.starwarsnewsnet.com/wp-content/uploads/2021/01/Empire-at-War_wall.jpg" alt="">
    </div>
  </div>

  <!-- 新增右侧预览区域 -->
  <div id="preview-area">
    <p>已选图片预览</p>
    <img id="preview-img" alt="选中的区域图片">
  </div>
</div>

<select class="form-control" id="sel1">
  <option value="region1">1 - 乌迪内市中心</option>
  <option value="region2">2 - 里齐 / 圣多米尼克 / 科尔莫 / 圣罗科</option>
  <option value="region3">3 - 莱帕科 / 圣哥达</option>
  <option value="region4">4 - 乌迪内南部</option>
  <option value="region5">5 - 库西尼亚科</option>
</select>

CSS代码

#wrapper .image-container {
  position: relative;
  width: 100px;
  height: 100px;
  display: inline-block;
  cursor: pointer;
}

#wrapper img {
  width: 100px;
  height: 100px;
  object-fit: cover;
}

.image-container.selected::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4)
}

/* 预览区域样式 */
#preview-img {
  width: 300px;
  height: 300px;
  object-fit: cover;
  border: 1px solid #e5e7eb;
}

JS代码

const containers = $('.image-container')
const select = $('#sel1')
const previewImg = $('#preview-img') // 获取预览图元素

// 初始化默认选中第一个区域
selectElement('region1')

containers.on('click', function() {
  const id = $(this).attr('id')
  selectElement(id)
  select.val(id)
})

select.change(function() {
  selectElement($(this).val())
})

function selectElement(id) {
  // 原有选中状态切换逻辑
  containers.removeClass("selected")
  $('#' + id).addClass("selected")
  // 按需求更新预览图地址为指定格式
  previewImg.attr('src', `https://www.example.com/${id}.png`)
  // 若需要展示实际点击的原图,可替换为以下代码:
  // previewImg.attr('src', $(`#${id} img`).attr('src'))
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:54:03