微信小程序实现页面浮动导航


Posted in Javascript onJanuary 08, 2020

一、前言

做复杂的小程序就与web页面的区别原来越小了,一些web页面的功能会被要求添加到微信小程序页面中。

二、功能

页面在滑动的时候顶部页面导航跟随滑动,当点击导航中的任意一项时返回页面顶部。

三、实现

wxml代码:

<view class='container'>
<view class='navigation {{pageVariable.isFloat == true ? "float-navigation":""}}'>
  <view class='{{policyFilter.curSelectNavigationItemFormate(pageVariable.curSelectedItemId,"0")}}' data-id='0' catchtap='selectNavigationItem'>全部</view>
  <view class='{{policyFilter.curSelectNavigationItemFormate(pageVariable.curSelectedItemId,"1")}}' data-id='1' catchtap='selectNavigationItem'>保障中</view>
  <view class='{{policyFilter.curSelectNavigationItemFormate(pageVariable.curSelectedItemId,"2")}}' data-id='2' catchtap='selectNavigationItem'>已生效</view>
  <view class='{{policyFilter.curSelectNavigationItemFormate(pageVariable.curSelectedItemId,"3")}}' data-id='3' catchtap='selectNavigationItem'>未生效</view>
 </view>
</view>

wxss代码:

.navigation {  /*导航样式*/
 width: 100%;
 display: flex;
 justify-content: space-around;
 align-items: center;
 height: 80rpx;
 background-color: #fff;
 font-size: 28rpx;
 color: #333;
 font-weight: 500;
 box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.30);
}
 
.float-navigation {  /*导航浮动起来的css*/
 position: fixed;
 top: 0;
 z-index: 1000;
}
 
.navigation-item-selected {  /*导航项选中的样式*/
 color: #40a0ee;
 height: 80rpx;
 line-height: 80rpx;
 border-bottom: 3rpx solid #40a0ee;
}

js代码:

Page({
  data:function () {
  var model = {};
  model.pageVariable = {
   curSelectedItemId:'0', //顶部导航栏,当前选中的项
   isFloat:false, //控制导航栏浮动
  }
  return model;
 }(),
 /**
  * 选择导航
  */
 selectNavigationItem:function(e){
  this.setData({
   'pageVariable.curSelectedItemId': e.currentTarget.dataset.id,
   'pageVariable.isFloat':false
  });
  wx.pageScrollTo({
   scrollTop: 0,
  });
  this.initData(e.currentTarget.dataset.id);  //加载数据
 },
 onPageScroll:function(res){
  if (res.scrollTop >= 1){ //开始滚动
   if (!this.data.pageVariable.isFloat){
    this.setData({
     'pageVariable.isFloat':true
    });
   }
  }else{
   this.setData({
    'pageVariable.isFloat': false
   });
  }
 }
})

总结:

这个功能的实现主要是通过onPageScroll页面注册函数来实现页面滚动,通过pageScrollTo api实现导航选项在被选中时返回到页面顶部。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个不错的用JavaScript实现的UBB编码函数
Mar 09 Javascript
Js callBack 返回前一页的js方法
Nov 30 Javascript
picChange 图片切换特效的函数代码
May 06 Javascript
javascript 基础篇4 window对象,DOM
Mar 14 Javascript
js获取html页面节点方法(递归方式)
Dec 13 Javascript
JavaScript代码复用模式详解
Nov 07 Javascript
jQuery DOM删除节点操作指南
Mar 03 Javascript
学习使用AngularJS文件上传控件
Feb 16 Javascript
Vee-Validate的使用方法详解
Sep 22 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
Nov 21 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
ES5新增数组的实现方法
May 12 Javascript
微信小程序基于movable-view实现滑动删除效果
Jan 08 #Javascript
小程序自定义模板实现吸顶功能
Jan 08 #Javascript
微信小程序静默登录的实现代码
Jan 08 #Javascript
微信小程序wxs实现吸顶效果
Jan 08 #Javascript
微信小程序实现吸顶特效
Jan 08 #Javascript
nuxt配置通过指定IP和端口访问的实现
Jan 08 #Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
Jan 08 #Javascript
You might like
探讨PHP中this,self,parent的区别详解
2013/06/08 PHP
10个php函数实用却不常见
2015/10/13 PHP
php微信开发之谷歌测距
2018/06/14 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
php实现图片压缩处理
2020/09/09 PHP
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
JS对象转换为Jquery对象示例
2014/01/26 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
python中不能连接超时的问题及解决方法
2018/06/10 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
python下载库的步骤方法
2019/10/12 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
全网最详细的PyCharm+Anaconda的安装过程图解
2021/01/25 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
优秀演讲稿范文
2013/12/29 职场文书
遗产继承公证书
2014/04/09 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
个人求职自荐信范文
2014/06/20 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
2016年社区六一儿童节活动总结
2016/04/06 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript