当前位置:首页 > 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实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…

js实现上传文件

js实现上传文件

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。 <input type="file"…

js 实现全选

js 实现全选

实现全选功能的方法 使用 JavaScript 实现全选功能通常需要操作复选框(checkbox)的状态。以下是几种常见的实现方式。 通过 DOM 操作实现全选 // 获取全选复选框和子复选…

js实现乘法

js实现乘法

实现乘法运算的方法 在JavaScript中实现乘法运算可以通过多种方式完成,以下列举几种常见方法: 基础运算符 直接使用乘法运算符*是最简单的方式: let result = 3 * 5; //…

js实现同步

js实现同步

同步与异步的概念 在JavaScript中,同步代码会按照顺序执行,每一行代码必须等待上一行代码执行完成后才能运行。异步代码则允许在等待某些操作(如网络请求)完成的同时继续执行其他代码。 实现同步的…