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


Posted in Javascript onJanuary 28, 2019

一、前言

做复杂的小程序就与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 attachEvent和addEventListener使用方法
Mar 19 Javascript
浅谈javascript中的作用域
Apr 07 Javascript
jQuery点击后一组图片左右滑动的实现代码
Aug 16 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
Mar 04 Javascript
ECMAScript6函数默认参数
Jun 12 Javascript
javascript去掉代码里面的注释
Jul 24 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
Sep 28 Javascript
js 实现复选框只能选择一项的示例代码
Jan 23 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 Javascript
解决vue 给window添加和移除resize事件遇到的坑
Jul 21 Javascript
详解Vue的异步更新实现原理
Dec 22 Vue.js
微信小程序顶部导航栏滑动tab效果
Jan 28 #Javascript
详解基于node.js的脚手架工具开发经历
Jan 28 #Javascript
微信小程序实现顶部导航特效
Jan 28 #Javascript
详解几十行代码实现一个vue的状态管理
Jan 28 #Javascript
vue.js仿hover效果的实现方法示例
Jan 28 #Javascript
vue-for循环嵌套操作示例
Jan 28 #Javascript
使用pm2自动化部署node项目的方法步骤
Jan 28 #Javascript
You might like
PHP中的串行化变量和序列化对象
2006/09/05 PHP
一个颜色轮换的简单例子
2006/10/09 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
ie focus bug 解决方法
2009/09/03 Javascript
超简单的jquery的AJAX用法
2010/05/10 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
JavaScript数组和循环详解
2015/04/27 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
python实现kMeans算法
2017/12/21 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
市场营销毕业生自荐信范文
2014/04/01 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
班主任开场白
2015/06/01 职场文书
淮海战役观后感
2015/06/11 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis