我在项目中采用的元素节点定位,首先是给想要定位的节点添加唯一id,然后点击定位时获取这个唯一节点,来改变scrolltop。简单粗暴代码如下:
if(document.querySelector("#opinion_"+unCheckId[0]) && unCheckId[0]) {
document.querySelector('body').scrollTop=document.querySelector('html').scrollTop =document.querySelector("#opinion_"+unCheckId[0]).offsetTop//先把元素置于最顶端,然后当元素都渲染成功,再减去顶部固定栏的高度
this.$nextTick(function(){//此处的temp是指顶部固定栏的高度
let temp =90
document.querySelector('html').scrollTop=document.querySelector('body').scrollTop =document.querySelector("#opinion_"+unCheckId[0]).offsetTop- temp
})
}
document.querySelector('body').scrollTop=document.querySelector('html').scrollTop