微信小程序顶部导航栏滑动tab效果


Posted in Javascript onJanuary 28, 2019

小程序商品展示需要导航栏的商品分类进行滑动,供大家参考,具体内容如下

效果图:

微信小程序顶部导航栏滑动tab效果

微信小程序顶部导航栏滑动tab效果

首先是滑动的效果:

<scroll-view scroll-x="true" style="width: 100%;white-space:nowrap;">
</scroll-view>

小程序使用</scroll-view>,横向移动即可

WXML:这里面我将导航栏显示类目定义为5个,每个20%,当超出5个分类,也就是index>4的时候,导航栏下面的省略号加上(因为tab-nac的border-bottom只能显示到第五个分类)

<scroll-view scroll-x="true" style="width: 100%;white-space:nowrap;">
 <!-- tab -->
 <view class="tab">
  <view class="tab-nav" style='font-size:12px'>
  <view wx:for="{{tabnav.tabitem}}" bindtap="setTab" data-tabindex="{{index}}" style="min-width:20%;max-width:20%;text-align:center;height: 80rpx;
{{index>4?'border-bottom: 1rpx dotted #ddd;':''}}">{{item.text}}</view>
  <view >
  <view class="tab-line" style="width:{{100/tabnav.tabnum}}%;transform:translateX({{100*showtab}}%);"></view>
  </view>
  </view>
 </view>
</scroll-view>

wXSS:  

.tab{
 display: flex;
 flex-direction: column;
}
.tab-nav{
 height: 80rpx;
 background: #fff;
 border-bottom: 0.5rpx dotted #ddd;
 display: flex;
 line-height: 79rpx;
 position: relative;
}
 
.tab-line{
 position: absolute;
 left: 0;
 bottom: -1rpx;
 height: 4rpx;
 background: #f7982a;
 transition: all 0.3s;
}
.tab-content{
 flex: 1;
 overflow-y: auto;
 overflow-x: hidden;
}

JS: 

import util from './../../utils/util.js';
Page({
 data: {
 showtab: 0, //顶部选项卡索引
 tabnav: {
  tabnum: 5,
  tabitem: [
  {
   "id": 0,
   "text": "商品分类1"
  },
  {
   "id": 1,
   "text": "商品分类2"
  },
  {
   "id": 2,
   "text": "商品分类3"
  },
  {
   "id": 3,
   "text": "商品分类4"
  },
  {
   "id": 4,
   "text": "商品分类5"
  },
  {
   "id": 5,
   "text": "商品分类6"
  },
  {
   "id": 6,
   "text": "商品分类7"
  }
  ]
 },
 productList: [],
 },
 onLoad: function () {
 },
 setTab: function (e) {
 const edata = e.currentTarget.dataset;
 this.setData({
  showtab: edata.tabindex,
  
 })
 },
})

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

Javascript 相关文章推荐
js url传值中文乱码之解决之道
Nov 20 Javascript
JQuery选择器、过滤器大整理
May 26 Javascript
Prototype框架详解
Nov 25 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
Sep 11 Javascript
jQuery实现可兼容IE6的滚动监听功能
Sep 20 jQuery
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
angularjs结合html5实现拖拽功能
Jun 25 Javascript
解决vue点击控制单个样式的问题
Sep 05 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
Mar 14 Javascript
详解用async/await来处理异步
Aug 28 Javascript
jQuery操作元素的内容和样式完整实例分析
Jan 10 jQuery
JS实现图片懒加载(lazyload)过程详解
Apr 02 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
jQuery访问json文件中数据的方法示例
Jan 28 #jQuery
You might like
实用函数9
2007/11/08 PHP
php 缓存函数代码
2008/08/27 PHP
smarty半小时快速上手入门教程
2014/10/27 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
2015/07/31 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
[01:04]DOTA2上海特锦赛现场采访 FreeAgain遭众解说围攻
2016/03/25 DOTA
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
基于Python的PIL库学习详解
2019/05/10 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
数据库笔试题
2013/05/09 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
美德少年事迹材料500字
2014/08/19 职场文书
初级党校心得体会
2014/09/11 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers