press-swiper
Version:
适配多端的高自定义轮播组件,多种3D效果。全面对标swiperjs。
36 lines (33 loc) • 751 B
JavaScript
export function getAllRect(context, selector) {
return new Promise((resolve) => {
uni.createSelectorQuery()
.in(context)
.selectAll(selector)
.boundingClientRect()
.exec((rect = []) => resolve(rect[0]));
});
}
export function getRect(context, selector) {
return new Promise((resolve) => {
uni.createSelectorQuery()
.in(context)
.select(selector)
.boundingClientRect()
.exec((rect = []) => resolve(rect[0]));
});
}
export function requestAnimationFrame(cb) {
const systemInfo = uni.getSystemInfoSync();
if (systemInfo.platform === 'devtools') {
return setTimeout(() => {
cb();
}, 1000 / 30);
}
return uni
.createSelectorQuery()
.selectViewport()
.boundingClientRect()
.exec(() => {
cb();
});
}