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


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 相关文章推荐
js同时按下两个方向键
Dec 01 Javascript
jquery 插件学习(四)
Aug 06 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
Mar 25 Javascript
基于replaceChild制作简单的吞噬特效
Sep 21 Javascript
js匿名函数作为函数参数详解
Jun 01 Javascript
微信小程序开发实战教程之手势解锁
Nov 18 Javascript
Bootstrap3多级下拉菜单
Feb 24 Javascript
vue组件的写法汇总
Apr 12 Javascript
手动下载Chrome并解决puppeteer无法使用问题
Nov 12 Javascript
js实现开关灯效果
Mar 30 Javascript
Vue项目中如何使用Axios封装http请求详解
Oct 23 Javascript
如何使用CocosCreator对象池
Apr 14 Javascript
微信小程序顶部导航栏滑动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
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
将OICQ数据转成MYSQL数据
2006/10/09 PHP
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
PHP将DateTime对象转化为友好时间显示的实现代码
2011/09/20 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
2013/06/13 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
js最简单的拖拽效果实现代码
2010/09/24 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
2010/10/24 Javascript
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
js使用eval解析json(js中使用json)
2014/01/17 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
wxPython中文教程入门实例
2014/06/09 Python
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
Python中字典的setdefault()方法教程
2017/02/07 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
详解Python 解压缩文件
2019/04/09 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
django写用户登录判定并跳转制定页面的实例
2019/08/21 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
python中PyQuery库用法分享
2021/01/15 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
卫校毕业生自我鉴定
2013/10/31 职场文书
消防志愿者活动方案
2014/08/23 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
技能培训通讯稿
2015/07/18 职场文书
党风廉政承诺书2016
2016/03/25 职场文书