首先,我遇到的问题是 无法保留(B)页面滚动的位置(scrollTop ) 无法赋值?!
黄色框是滚动部分(非最外层)
参考:https://www.csdn.net/tags/OtDakg2sOTA3NDktYmxvZwO0O0OO0O0O.html
看完我以为我写的没毛病,但是我没有使用$nextTick,setTimeout这两个方法,而是直接写里面的内容,造成无法给scrollTop赋值;
beforeRouteEnter(to, from, next) { next((vm) => { if (from.name == "ComputerroomDetails") { vm.scrollIndex = sessionStorage.getItem("ScrollIndexPositionY"); // vm.$el.scrollTop = Number(vm.scrollIndex);//$el这是获取外层元素 // document.getElementsByClassName('content').scrollTop = Number(vm.scrollIndex);//一开始这么写但是无法赋值 // document.querySelector('.content').scrollTop = Number(vm.scrollIndex);//同上
// document.querySelector('.content').scrollTop = 100;
vm.$nextTick(()=>{
setTimeout(()=>{
let content = vm.$el.querySelector('.content') ;
content.scrollTop = vm.scrollIndex; //这是获取到的滚动位置赋值
console.log("scrollTop",content.scrollTop);
},100) })
}
}
) },
差点就放弃这个方法了,看来还是得全套才行。感谢原作者,我就做个小笔记哈!
补充获取滚动位置的方法:
html: <div class="content" @scroll="scroll"></div> methods:{ // 滚动位置 scroll(event) { this.scrollIndex = event.target.scrollTop; console.log('scroll', event.target.scrollTop) } }
从啥也不会开始吧
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步