小程序之导航跟随

  最近在牛客网上五一做到一道关于position定位的题,惊喜的发现还有一种布局叫position:sticky,它就像是relativefixed的合体,

  其常用场景:当元素距离页面视口(Viewport,也就是fixed定位的参照)顶部距离大于 0px 时,元素以 relative 定位表现,而当元素距离页面视口小于 0px 时,元素表现为 fixed 定位,也就会固定在顶部。

  想到我最近手里的一个小程序,(页面如下)

 

我很兴奋的想要用这个css特性改成跟随导航的效果(结果页面如下)

即当页面向下滑动的时候如图所示的两个字段行能固定在头部,

但是当我激动的以为这样就可以了的时候,出现了一个致命的问题,就是在真机测试的时候,点击归属地字段行直接透过该字段的点击出现下拉弹窗事件触发了底层的号码列表的进入详情页事件,神奇的是,原理一样的排序字段没有出现相同问题,我尝试着解决,以为是小程序事件的冒泡机制导致的,因此采用了catch绑定,但是并没有效果,并且其中两个字段行并不属于嵌套view

下图为点击归属地字段触发下拉弹窗

下图为点击号码列表进入相应详情页

想着这个效果确实能增强用户体验,在使用sticky定位无法完美的实现我想要的效果的情况下,我又尝试了使用js实现效果,

1.给导航设置position: absolute; 页面向下滚动到导航的位置时,将给导航设置为position: fixed;

2.绑定小程序滚动事件bindscroll,监听滚动距离;

但是导航效果切换卡顿严重,在网上查询了下,说是scroll-view组件是在滚动完成才会执行js事件,总的来说性能比较差,严重影响用户体验,因此这个方法也流产了,目前还没有想到什么别的方法,希望有兴趣的网友能给些好的建议。

 

转载于:https://www.cnblogs.com/joyer-lee/p/8535548.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值