本文实例讲述了微信小程序导航栏滑动定位功能。分享给大家供大家参考,具体如下:
实现的效果
实现的原理
1. 通过对scroll的监听获取滚动条的scrollTop值;
2. 在导航的class判断scrollTop;
3. 切换position:fixed与position:relative。
WXML
<view style="height:100%;position:fixed;width:100%;"> <scroll-view scroll-y="false" bindscroll="scroll" style="height:100%;"> <view class="page-bottom-content"> <text>{{text}}</text> </view> <view class="page-banner"> banner </view> <view class="page-group {{scrollTop > 360 "> <view class="page-nav-list"><text>首页</text></view> <view class="page-nav-list"><text>活动</text></view> <view class="page-nav-list"><text>菜单</text></view> <view class="page-nav-list"><text>我的</text></view> </view> <view class="goods-list"> goods-list </view> </scroll-view> </view>
WXCSS
.page-banner{height: 500rpx;background-color: greenyellow;padding: 20rpx;color:#fff;} .page-group{ display: table; background-color: blueviolet; width: 100%; table-layout: fixed; position: relative; top: 0; left: 0; } .page-group-position{ position: fixed; } .page-nav-list{ padding:30rpx 0 ; display: table-cell; text-align: center; color: #fff; } .goods-list{ height: 2000rpx; background-color: green; padding: 20rpx; color:#fff; }
JS
Page({ data: { scrollTop: null }, //滚动条监听 scroll: function (e) { this.setData({ scrollTop: e.detail.scrollTop }) }, })
总结:
1. 要获取scrollTop,在微信小程序中我们需要:<scroll-view scroll-y="false" bindscroll="scroll" style="height:100%;"></scroll-view>
;
2. 微信小程序要绑定bindscroll事件,需要绑定在scroll-view组件上,同时设置scroll-y和height。
3. 如果scroll-view的高设置100%,就需要在其外层添加一个固定高的盒子,否则监听不会生效。
4. 通过scroll事件获取scrollTop:this.setData({ scrollTop: e.detail.scrollTop })
5. 导航栏class的切换:
scrollTop > 360 "htmlcode">scrollTop > 360 "_blank" href="http://yy.jb51.net:81/201901/yuanma/wx-Rattenking-sticky(jb51.net).rar">本站下载。
希望本文所述对大家微信小程序开发有所帮助。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。