// ==================== 热门机型销量数字滚动动画 ====================
function animateSalesNumbers() {
const salesNumbers = document.querySelectorAll('.sales-number');
salesNumbers.forEach((elem, index) => {
const target = parseInt(elem.dataset.target);
const duration = 2000; // 动画时长2秒
const startTime = performance.now();
function update(currentTime) {
const elapsed = currentTime - startTime;
const progress = Math.min(elapsed / duration, 1);
// 使用easeOutCubic缓动函数
const easeProgress = 1 - Math.pow(1 - progress, 3);
const currentValue = Math.floor(target * easeProgress);
// 格式化数字,添加千位分隔符
elem.textContent = currentValue.toLocaleString();
if (progress < 1) {
requestAnimationFrame(update);
} else {
elem.textContent = target.toLocaleString();
}
}
// 延迟启动,形成依次显示效果
setTimeout(() => {
requestAnimationFrame(update);
}, index * 300);
});
}
// 页面加载后启动销量动画
document.addEventListener('DOMContentLoaded', () => {
setTimeout(animateSalesNumbers, 800);
});