当前位置:首页 > JavaScript

js实现大小图

2026-03-15 22:19:42JavaScript

实现大小图切换的JavaScript方法

通过监听用户交互(如点击或悬停)动态切换图片的显示尺寸。以下是一个基础实现示例:

// 获取DOM元素
const smallImg = document.querySelector('.small-img');
const largeImg = document.querySelector('.large-img');

// 点击小图显示大图
smallImg.addEventListener('click', function() {
    largeImg.style.display = 'block';
    smallImg.style.display = 'none';
});

// 点击大图返回小图
largeImg.addEventListener('click', function() {
    smallImg.style.display = 'block';
    largeImg.style.display = 'none';
});

使用CSS过渡动画增强效果

为大小图切换添加平滑的过渡效果:

js实现大小图

.img-container {
    transition: all 0.3s ease;
}
.large-img {
    transform: scale(0);
    opacity: 0;
}
.large-img.active {
    transform: scale(1);
    opacity: 1;
}

对应JavaScript修改:

smallImg.addEventListener('click', function() {
    largeImg.classList.add('active');
});

largeImg.addEventListener('click', function() {
    largeImg.classList.remove('active');
});

响应式图片切换方案

根据屏幕尺寸自动切换图片大小:

js实现大小图

function responsiveImageSwitch() {
    const imgElement = document.getElementById('responsive-img');
    if (window.innerWidth < 768) {
        imgElement.src = 'small-image.jpg';
    } else {
        imgElement.src = 'large-image.jpg';
    }
}

// 初始调用和窗口变化监听
responsiveImageSwitch();
window.addEventListener('resize', responsiveImageSwitch);

使用Intersection Observer实现懒加载

当图片进入视口时加载大图版本:

const observer = new IntersectionObserver((entries) => {
    entries.forEach(entry => {
        if (entry.isIntersecting) {
            const img = entry.target;
            img.src = img.dataset.largeSrc;
            observer.unobserve(img);
        }
    });
});

document.querySelectorAll('.lazy-img').forEach(img => {
    observer.observe(img);
});

HTML结构示例:

<img class="lazy-img" src="small-placeholder.jpg" data-large-src="large-image.jpg" alt="示例图片">

标签: 小图js
分享给朋友:

相关文章

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与响应式…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…

js实现 功能

js实现 功能

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