vue中监听scroll事件失效的问题及解决

 更新时间:2022年09月16日 08:50:07   作者:°折月煮酒  
这篇文章主要介绍了vue中监听scroll事件失效的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue监听scroll事件失效问题

vue项目中遇到需要监听页面某个元素距顶部距离实现吸顶效果,正常的window.addEventListener('scroll', this.handleScroll)完全失效,经过一段时间的探索发现这个事件在子组件中会遇到问题。

可以用元素上的 @scroll事件来监听滚动,但有一点要注意,scroll的元素需要确认 设置overflow-y:scroll;height:100%的样式。

下面附实现成功的代码

1.顶部元素添加 @scroll事件监听

<div class="specialty-store-page" ref="scrollBox" @scroll="handleBlScroll">

2.确保监听的元素 overflow-y:scroll;height:100%

3.监听事件

   handleBlScroll() {
      let _blTop = this.$refs.bl.getBoundingClientRect().top
      this.tabFixed = _blTop < 46
      this.navShowFlag = this.$refs.scrollBox.scrollTop > this.RootEM * 0.92
      let _gcTop = this.$refs.goodsContainer.getBoundingClientRect().top//这里是子元素距顶部的高度
    }

可以在父元素中添加滚动,通过 this.$refs.goodsContainer.getBoundingClientRect().top来获取子元素的顶部距离进行判断 

vue监听scroll事件

很小的功能,记录一下

mounted() {
    window.addEventListener('scroll', this.handleScroll, true)
},
methods: {
    handleScroll: function() {
          console.log(document.documentElement.scrollTop || document.body.scrollTop)
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • 如何在Vue3中实现自定义指令(超详细!)

    如何在Vue3中实现自定义指令(超详细!)

    除了默认设置的核心指令(v-model和v-show),Vue也允许注册自定义指令,下面这篇文章主要给大家介绍了关于如何在Vue3中实现自定义指令的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 在浏览器console中如何调用vue内部方法

    在浏览器console中如何调用vue内部方法

    这篇文章主要介绍了在浏览器console中如何调用vue内部方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • vue使用vue-video-player插件播放视频的步骤讲解

    vue使用vue-video-player插件播放视频的步骤讲解

    在最近的项目中有一个视频播放的功能,在之前的项目中没有接触过类似的功能,第一次接触,把具体操作步骤一下,这篇文章主要给大家介绍了关于vue使用vue-video-player插件播放视频的相关资料,需要的朋友可以参考下
    2022-12-12
  • VUE组件传参超详细讲解

    VUE组件传参超详细讲解

    vue的特点之一是组件化开发,那么问题来了,组件中的数据和方法都是独立的,我们如何进行组件之间的交互呢。这个时候就要用到组件传参了
    2022-07-07
  • antd form表单数据回显操作

    antd form表单数据回显操作

    这篇文章主要介绍了antd form表单数据回显操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Vue中动态路由加载与ESLint错误排查全指南

    Vue中动态路由加载与ESLint错误排查全指南

    在现代前端开发中,Vue.js 结合 Webpack 的动态路由加载能显著提升应用性能,本文将通过一个实际案例,详细分析动态路由加载的常见错误,希望对大家有所帮助
    2025-04-04
  • vue之moment的使用方式

    vue之moment的使用方式

    这篇文章主要介绍了vue之moment的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Map.vue基于百度地图组件重构笔记分享

    Map.vue基于百度地图组件重构笔记分享

    这篇文章主要为大家分享了Map.vue基于百度地图组件重构笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • vue中的公共方法调用方式

    vue中的公共方法调用方式

    这篇文章主要介绍了vue中的公共方法调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vue3.0组件通信mitt源码ts实例解析

    Vue3.0组件通信mitt源码ts实例解析

    这篇文章主要为大家介绍了Vue3.0组件通信mitt源码ts实例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论