首页 前端知识 Vue 某区域滚动至顶部 实现吸顶效果(固定定位) / 回到顶部

Vue 某区域滚动至顶部 实现吸顶效果(固定定位) / 回到顶部

2024-06-07 23:06:02 前端知识 前端哥 737 387 我要收藏

需求介绍

1、滚动吸顶        

要求蓝色框内模块滑动到头部,左侧列表固定,右侧内容块继续滚动

使用window方法 监听滚动事件:window.addEventListener()

参数1:事件类型(click、mousedown、scroll) 

参数2:事件触发后调用函数

参数3:冒泡或捕获(布尔类型)

    mounted() {
        window.addEventListener('scroll', this.handleScroll);
    },
    beforeDestroy() {
        // 最后记得移除事件
        window.removeEventListener('scroll', this.handleScroll);
    },
    methods: {
        handleScroll() {
            //函数处理
        },
    }

2、实现 回到顶部功能 也是可以用 window.addEventListener()

     <div v-if="isTops" id="toppings">
        <img src="@/assets/serviceDesk/topping.png" alt="回到顶部">
     </div>
    
    mounted() {
        window.addEventListener('scroll', this.handleScroll, true)
    },
    beforeDestroy() {
        window.removeEventListener('scroll', this.handleScroll, true)
    },
    methods: {
        handleScroll(e) {

                // isTops :滚动到一定位置 展示回到顶部按钮
                // timer :定时器实现滚动动画回到顶部

            if (e.target.scrollTop > 1200) {
                this.isTops = true
                document.getElementById('toppings').addEventListener('click', function () {
                    var timer = setInterval(function () {
                        e.target.scrollTop = Math.floor(e.target.scrollTop - 5);
                        if (e.target.scrollTop === 0) {
                            clearInterval(timer);
                        }
                    },);
                })
            } else {
                this.isTops = false
            }
        },
    },

转载请注明出处或者链接地址:https://www.qianduange.cn//article/11339.html
标签
评论
发布的文章

echarts 鼠标划过显示信息

2024-06-14 23:06:40

echarts@5 动画失效

2024-06-14 23:06:39

vue3 聊天机器人 聊天界面

2024-06-14 23:06:06

Vue - Vue3 集成编辑器功能

2024-06-14 23:06:54

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!