作者:天晴创艺发布时间:2025/8/23 9:22:06浏览次数:10367文章出处:外包网站公司

// 图片加载优化示例 class ArtworkImageLoader { constructor(containerSelector) { this.containers = document.querySelectorAll(containerSelector); this.init(); } init() { this.containers.forEach(container => { const img = container.querySelector('img'); const placeholder = document.createElement('div'); // 设置占位符 placeholder.className = 'bg-gray-200 absolute inset-0 flex items-center justify-center'; placeholder.innerHTML = '<i class="fa fa-image text-gray-400 text-2xl"></i>'; container.style.position = 'relative'; container.appendChild(placeholder); // 隐藏原图,加载完成后显示 img.style.opacity = '0'; img.style.transition = 'opacity 0.5s ease-in-out'; // 先加载缩略图 const thumbnail = new Image(); const thumbnailSrc = img.dataset.thumbnail || this.getThumbnailUrl(img.src); thumbnail.onload = () => { placeholder.style.backgroundImage = `url(${thumbnailSrc})`; placeholder.style.backgroundSize = 'cover'; placeholder.style.backgroundPosition = 'center'; placeholder.innerHTML = ''; // 加载高清图 img.onload = () => { img.style.opacity = '1'; // 图片加载完成后移除占位符 setTimeout(() => placeholder.remove(), 500); }; // 开始加载高清图 img.src = img.dataset.src || img.src; }; thumbnail.src = thumbnailSrc; }); } // 生成缩略图URL(实际应用中可能由后端提供) getThumbnailUrl(originalUrl) { // 假设原图URL格式为 .../image.jpg,缩略图为 .../image_thumbnail.jpg return originalUrl.replace(/(\.\w+)$/, '_thumbnail$1'); } } // 初始化图片加载器 document.addEventListener('DOMContentLoaded', () => { new ArtworkImageLoader('.artwork-grid [data-artwork-id] .aspect-\\[4\\/5\\]'); });
专业的网站建设、响应式、手机站微信公众号开发
© 2010-2026 北京天晴创艺科技有限公司 版权所有 京ICP备16050845号-2
关注公众号
进入手机版


点击咨询

4006-234-116
返回顶部