当前位置:首页 > 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实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…