滚动到页面指定元素
function scrollToElement(elementId,speed){
let destEle = document.getElementById(elementId);
let scrolltopTemp = document.documentElement.scrollTop || document.body.scrollTop;
let rect = destEle.getBoundingClientRect();
let top = scrolltopTemp + rect.top;
let currentTop = 0;
let requestId;
function step () {
currentTop += speed;
if (currentTop <= top) {
document.body.scrollTo(0, currentTop);
requestId = window.requestAnimationFrame(step);
} else {
window.cancelAnimationFrame(requestId);
}
}
window.requestAnimationFrame(step);
}
function wxScrollToElement(elementId, duration){
var scrollTop;
const query= wx.createSelectorQuery();
query.select(elementId).boundingClientRect()
query.selectViewport().scrollOffset()
query.exec(function(res) {
scrollTop = res[0].top+(res[1].scrollTop||0)
wx.createSelectorQuery().select('.page').boundingClientRect(function(rect) {
wx.pageScrollTo({
scrollTop: scrollTop,
duration: duration
})
}).exec()
})
}