节流方法的引入与使用(瀑布流的滚动事件控制案例)

本文探讨了JavaScript中的节流方法,特别是如何利用节流技术优化瀑布流布局的滚动事件处理,有效防止性能问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

节流方法 ===> 节流器

   //节流方法引入
   import {throttle} from 'throttle-debounce'
   data(){
     return {
   		//控制加载图标的显隐
       isActive: false
     }
   },
   mounted(){
   		//参数一:设定节流触发时间
       	//参数二:节流绑定事件
     this.a = throttle(1000,this.scroll.bind(this))
   		//事件监听绑定滚动事件触发节流
     window.addEventListener('scroll',this.a)
   },
   destroyed(){
       	//在组件销毁时清除监听
       window.removeEventListener('scroll',this.a)
   },
   methods:{
   		//设定事件
     scroll(){
         if (this.isActive == true) {
           return
         }
      		*//获取距下距离,如果小于它的可视距离,就执行内部代码*
   		//组件内部方法getBoundingClientRect().bottom用于获取该组件距下距离
           //document.documentElement.clientHeight用于获取屏幕高度
      if (this.$refs.waterfall.getBoundingClientRect().bottom < document.documentElement.clientHeight) {this.isActive = true
   		//子传父 设定自定义事件this.$emit('isActive')
      }
     }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值