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

点击切换主图功能优化:分设预览小图与主图的实现方案咨询

该需求完全可以实现,具体修改方案如下:

1. 调整CSS规则

新增主图显隐控制样式,同时修正原有CSS的拼写错误(heigh改为height):

.custom-carousel {
  text-align: center;
}
/* 主图默认隐藏,激活态才显示 */
.main-image > img {
  display: none;
  /* 可根据需求修改主图实际展示尺寸 */
  width: 300px;
}
.main-image > img.active {
  display: block;
}
.img-to-select > .img-to-select__item > img {
  height:30px;
  width: 30px;
}
.img-to-select {
  overflow: hidden; 
  display: flex; 
  justify-content:space-around;
  margin-top: 10px;
}
.img-to-select > .img-to-select__item {
   display: flex; 
   justify-content:space-around;
   padding: 2px;
}
.img-to-select > .img-to-select__item.selected {
   border: 2px solid red;
}

2. 调整HTML结构

给默认选中的第一张主图添加active类,同时按需修改各主图的data-title为对应内容:

<div class="custom-carousel-section">
  <div class="custom-container">
    <div class="custom-carousel">
      <div class="custom-carousel__title">
        <span>image-a</span>
      </div>
      <div class="main-image">
        <img src="main-test-1.jpg" alt="" data-title="image-a" class="active">
        <img src="main-test-2.jpg" alt="" data-title="image-b">
        <img src="main-test-3.jpg" alt="" data-title="image-c">
        <img src="main-test-4.jpg" alt="" data-title="image-d">
      </div>
      <div class="img-to-select">
        <div class="img-to-select__item selected">
          <img src="preview-test-1.jpg" alt="">
        </div>
        <div class="img-to-select__item">
          <img src="preview-test-2.jpg" alt="">
        </div>
        <div class="img-to-select__item">
          <img src="preview-test-3.jpg" alt="">
        </div>
        <div class="img-to-select__item">
          <img src="preview-test-4.jpg" alt="">
        </div>
      </div>
    </div>
  </div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

3. 修改JS交互逻辑

通过预览项和主图的索引一一对应,实现点击切换:

$('.img-to-select__item').click(function () {
  // 更新预览项选中状态
  $('.img-to-select__item').removeClass('selected');
  $(this).addClass('selected');
  // 获取当前点击预览项的索引
  const currentIndex = $(this).index();
  // 切换对应主图的显示状态
  $('.main-image > img').removeClass('active').eq(currentIndex).addClass('active');
  // 同步更新标题
  $('.custom-carousel__title > span').html($('.main-image > img').eq(currentIndex).attr('data-title'));
});

如果后续预览项和主图的排列顺序可能发生变动,也可以给预览图和主图添加相同的自定义标识属性(比如data-img-id),点击时通过属性匹配对应主图即可,匹配逻辑更稳定。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:36:02