关于小程序swiper图片不能撑满解决方案

时间:2025-04-07 14:14:38
// 获取矩形框的宽高等信息 export function querySelect(selector) { return new Promise((resolve, reject) => { const query = wx.createSelectorQuery() query.select(selector).boundingClientRect() query.exec((res) => { resolve(...res) }) }) } // 节流 export function ymThrottle( cb, interval = 100, { leading = true, traling = false } = {} ) { let startTime = 0; let timer = null; const _throttle = function (...args) { return new Promise((resolve, reject) => { try { const nowTime = Date.now(); if (!leading && startTime === 0) { startTime = nowTime; } const waitTime = interval - (nowTime - startTime); if (waitTime <= 0) { if (timer) clearTimeout(timer); const res = cb.apply(this, args); resolve(res); startTime = nowTime; timer = null; return; } // 实现尾部取消 // 在间隔点之后添加一个定时器 // 如果是间隔点那么就会取消这个定时器 if (traling && !timer) { timer = setTimeout(() => { const res = cb.apply(this, args); resolve(res); startTime = Date.now(); timer = null; }, waitTime); } } catch (error) { reject(error); } }); }; // 取消 _throttle.cancel = function () { if (timer) clearTimeout(timer); }; return _throttle; }