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


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写的实用看图工具实现代码
Jul 26 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
Feb 24 Javascript
仿谷歌主页js动画效果实现代码
Jul 14 Javascript
js渐变显示渐变消失示例代码
Aug 01 Javascript
JavaScript移除数组元素减少长度的方法
Sep 05 Javascript
高效的jQuery代码编写技巧总结
Feb 22 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
May 08 Javascript
JavaScript 通过Ajax 动态加载CheckBox复选框
Aug 31 Javascript
jqueryUI tab标签页代码分享
Oct 09 jQuery
基于vue中css预加载使用sass的配置方式详解
Mar 13 Javascript
Vue中实现回车键切换焦点的方法
Feb 19 Javascript
如何使用JavaScript策略模式校验表单
Apr 29 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
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
php通过数组实现多条件查询实现方法(字符串分割)
2014/05/06 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
javascript 贪吃蛇实现代码
2008/11/22 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
json数据格式常见操作示例
2019/06/13 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
使用Python的PIL模块来进行图片对比
2016/02/18 Python
python 中的int()函数怎么用
2017/10/17 Python
Python 12306抢火车票脚本
2018/02/07 Python
Python中装饰器学习总结
2018/02/10 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
matplotlib.pyplot画图并导出保存的实例
2019/12/07 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
python numpy实现rolling滚动案例
2020/06/08 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
教师求职推荐信范文
2013/11/20 职场文书
电视节目策划方案
2014/05/16 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书