当前位置:首页 > JavaScript

js实现换图

2026-02-01 06:32:56JavaScript

使用JavaScript实现图片切换

通过DOM操作修改图片的src属性即可实现换图。以下是几种常见场景的实现方法:

基础图片切换

通过按钮点击切换预定义的图片路径:

js实现换图

const imgElement = document.getElementById('myImage');
const images = ['image1.jpg', 'image2.jpg', 'image3.jpg'];
let currentIndex = 0;

function changeImage() {
  currentIndex = (currentIndex + 1) % images.length;
  imgElement.src = images[currentIndex];
}

定时自动轮播

设置定时器实现自动轮播效果:

let slideInterval = setInterval(changeImage, 2000);

// 鼠标悬停暂停轮播
imgElement.parentElement.addEventListener('mouseenter', () => {
  clearInterval(slideInterval);
});

// 鼠标离开恢复轮播
imgElement.parentElement.addEventListener('mouseleave', () => {
  slideInterval = setInterval(changeImage, 2000);
});

淡入淡出过渡效果

配合CSS实现平滑过渡:

js实现换图

.fade-in {
  animation: fadeIn 0.5s;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
function fadeChangeImage(newSrc) {
  imgElement.classList.remove('fade-in');
  setTimeout(() => {
    imgElement.src = newSrc;
    imgElement.classList.add('fade-in');
  }, 500);
}

动态加载图片

从服务器获取图片列表后切换:

async function loadAndChangeImages() {
  const response = await fetch('/api/images');
  const imageList = await response.json();

  imageList.forEach((imgUrl, index) => {
    setTimeout(() => {
      imgElement.src = imgUrl;
    }, index * 2000);
  });
}

响应式图片切换

根据屏幕尺寸切换不同分辨率的图片:

function responsiveImageSwitch() {
  const screenWidth = window.innerWidth;
  const baseSrc = imgElement.dataset.base;

  if (screenWidth < 768) {
    imgElement.src = `${baseSrc}-mobile.jpg`;
  } else {
    imgElement.src = `${baseSrc}-desktop.jpg`;
  }
}

window.addEventListener('resize', responsiveImageSwitch);

以上方法可根据实际需求组合使用,注意在切换图片前预加载图片可避免显示延迟问题。

标签: js
分享给朋友:

相关文章

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…