vue问题记录(十二):跨页面,定位,scrollTop

这几天一直在用h5写移动端的一个项目,然后就遇到跨页面定位的问题,
在这里插入图片描述
很明显,就是根据红色的标记的地方,然后进行跳转,然后进行定位,截图展示了发功机舱的定位
在这里插入图片描述

然后在网上查阅了一些资料,综合了自己的实际情况,如下

    mounted(){
        this.getCarInfo();
        this.$nextTick(() => {
            // 添加滚动事件
             window.addEventListener('scroll', this.scrollWindow)
         })
    },
        scrollWindow(){
                let type = this.$route.query.type;
                let total = '';
                if(type){
                    switch(type){
                        case "engine"://发动机舱
                            total = document.querySelectorAll("#engine")[0].offsetTop;
                            document.body.scrollTop = total
                            document.documentElement.scrollTop = total
                            window.pageYOffset = total;
                            window.removeEventListener('scroll', this.scrollWindow);
                        break;
                        case "cockpit"://驾驶舱
                            total = document.querySelectorAll("#cockpit")[0].offsetTop;
                            document.body.scrollTop = total
                            document.documentElement.scrollTop = total
                            window.pageYOffset = total;
                            window.removeEventListener('scroll', this.scrollWindow);
                        break;
                        case "start"://启动
                            total = document.querySelectorAll("#start")[0].offsetTop;
                            document.body.scrollTop = total;
                            document.documentElement.scrollTop = total;
                            window.pageYOffset = total;
                            window.removeEventListener('scroll', this.scrollWindow);
                        break;
                    }
                }
        },

注意
一开始的时候,我没有移除监听滚动事件,然后到达跳转的页面后,页面就无法滚动,后来,等我跳转到目的页面后,把监听滚动事件移除了,就没有问题了,。
别的也没什么好说的了,over

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值