通过监听页面是否滚动实现页面上一个按钮的显示和隐藏

这是自己遇到的一个需求开发,没太大的技术难点,但问题是不注意容易掉坑。老规矩,我先放效果图上来看看,不适合就方便大家节省时间,直接划走。

第一张图呢就是正常情况下的显示,第二张是滑动下拉视图的,此时按钮消失,等下滑停止后,按钮重新出现。应该需求很清楚了,上代码吧:

这个是隐藏消失部分的按钮代码,因为我的项目用到的是京东组件框架,所以这里就是京东的组件使用,组件使用不多说了,它不是这次记录的主角,用不同的组件不同的是它隐藏和显示时的样式动态不一样而已,这个按照自己需求使用就好(不用组件直接用div盒子也行的,后面加CSS的过渡效果就好)。

这里的两个代码第一个是正确的,第二个是我踩到的坑,整个逻辑就是用一个计时器每规定时间内监测一次滚动条的位置,当滚动条位置发生变化的话,计时器被刷新,并且把控制按钮显示隐藏的showAddRemxes改成false,使得按钮隐藏,当滚动停止时,计时器达到设定的时间,执行isScrollEnd函数,这时吧showAddRemxes改回true,显示按钮,整个逻辑就是这样,下面的test函数的我自己绕晕了的,属于多余部分。

需要注意的就是第一张图的代码是用了箭头函数;而第二张图的代码是直接使用了function函数,它的this指向了window,所以控制隐藏显示的showAddRemxes一直都是return的初始值,这么改变都无法实现所需的需求。这就是我记录这个需求的最大原因,这坑我踩了,希望大家踩不到,自己以后也不踩重复。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小聪仔大智慧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值