需要交换图片和标题div-by-div如下面的网站示例e-Zest Insights .

在这里,图像和标题逐个更改div- 第一个图像替换第二个div图像,第二个div图像替换第三个div图像,反之亦然.

enter image description here

var image1 = document.getElementById("image1");
var images1 = [
  "https://cdn.pixabay.com/photo/2015/04/19/08/32/marguerite-729510_640.jpg",
  "https://cdn.pixabay.com/photo/2015/04/19/08/32/rose-729509_640.jpg",
  "https://cdn.pixabay.com/photo/2015/04/19/08/33/flower-729512_640.jpg"
];
var index = 0;

function updateImage1() {
  image1.src = images1[index];
  index = (index + 1) % images1.length;
}
setInterval(updateImage1, 1500);
body {
  padding: 20px;
}

img {
  max-height: 100px;
}
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script>
<div class="container">
  <div class="row">
    <div class="col">
      <img id="image1" src="https://cdn.pixabay.com/photo/2015/04/19/08/32/marguerite-729510_640.jpg" alt="">
    </div>
    <div class="col">
      <img id="image2" src="https://cdn.pixabay.com/photo/2015/04/19/08/32/rose-729509_640.jpg" alt="">
    </div>
    <div class="col">
      <img src="https://cdn.pixabay.com/photo/2015/04/19/08/33/flower-729512_640.jpg" alt="">
    </div>
  </div>
</div>

推荐答案

只需使用js对象和队列即可.

JS:

var images = {
  "Lorem Ipsum" : "https://cdn.pixabay.com/photo/2015/04/19/08/32/marguerite-729510_640.jpg",
  "simply dummy text" : "https://cdn.pixabay.com/photo/2015/04/19/08/32/rose-729509_640.jpg",
  "specimen book" : "https://cdn.pixabay.com/photo/2015/04/19/08/33/flower-729512_640.jpg",
  "the printing" : "https://cdn.pixabay.com/photo/2023/09/04/18/08/sunflower-8233332_960_720.jpg",
  "typesetting industry": "https://cdn.pixabay.com/photo/2012/06/19/10/32/owl-50267_960_720.jpg",
};

$(document).ready(function(){

  const keys = Array.from(Object.keys(images));

  function swapImages(){
    // for forward
    keys.splice(0, 0, keys.pop());  // take out the last and push to first
  
    // for backward
    // keys.push( keys.shift() );  // take out the first and push to last
  
    keys.forEach((key, i) => {
      img = images[key];
      const span = $($(".image-swap span")[i])
      $('img', span).prop('src', img);    // update image
      $('label', span).html(key);         // Update text
    });
  }
  
  swapImages();
  setInterval(swapImages, 3000); 
});

Html:

<div class="image-swap">
  <span>
    <img class="large" src="">
    <label></label>
  </span>
  <div class='wrap'>
    <span> <img src=""> <label></label> </span>
    <span> <img src=""> <label></label> </span>
    <span> <img src=""> <label></label> </span>
    <span> <img src=""> <label></label> </span>
  </div>
</div>

Css:以下内容:

.image-swap{
  display: flex;
  gap: 10px;
  flex-direction: row;
}

.image-swap .wrap{
  display: flex;
  gap: 10px;
  flex-direction: row;
  flex-wrap:wrap;
}

.image-swap span{
  position: relative;
}

.image-swap label{
  position: absolute;
  color: #fff;
  font-weight: bold;
  bottom: 30px;
  left: 15px;
}

.image-swap img{
  width: auto;
  height: 200px;
}

.image-swap img.large{
  width: auto;
  height: 400px;
}

JSfiddle演示: https://jsfiddle.net/Dananjaya/j15osLbx/113/ https://jsfiddle.net/Dananjaya/j15osLbx/113/ https://jsfiddle.net/Dananjaya/j15osLbx/113/

Jquery相关问答推荐

Flask,如何为ajax调用返回成功状态码

如何使用 aria-expanded="true" 更改 CSS 属性

我们如何在不重新加载页面的情况下使用 javascript/jQuery 更新 URL 或查询字符串?

如何在不导致页面滚动的情况下删除位置哈希?

jQuery 判断 是否存在并且有一个值

禁用 Android 网页中输入焦点的zoom

Codemirror 编辑器在单击之前不会加载内容

删除索引后的所有项目

将每 3 个 div 包装在一个 div 中

输入元素上的 Javascript 更改事件仅在失go 焦点时触发

使用 jquery 在 radio 上单击或更改事件

如何在javascript中获取json键和值?

jQuery $(".class").click(); - 多个元素,点击事件一次

使用 jQuery 比较两个 Javascript 对象数组

Jquery live() 与委托()

单击时平滑滚动到特定的 div

上传文件前验证文件扩展名

jquery $(window).height() 正在返回文档高度

jQuery中的wait()或sleep()函数?

jQuery - 不可见时获取元素的宽度(显示:无)