微信小程序顶部导航栏滑动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传值 判断
Oct 26 Javascript
通用javascript脚本函数库 方便开发
Oct 13 Javascript
js 输出内容到新窗口具体实现代码
May 31 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
Jun 19 Javascript
js控制文本框输入的字符类型方法汇总
Jun 19 Javascript
分享我对JS插件开发的一些感想和心得
Feb 04 Javascript
全选复选框JavaScript编写小结(附代码)
Aug 16 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
Dec 07 Javascript
vue+element加入签名效果(移动端可用)
Jun 17 Javascript
在Vue中使用HOC模式的实现
Aug 23 Javascript
VUE项目实现主题切换的多种方法
Nov 26 Vue.js
微信小程序APP的生命周期及页面的生命周期
Apr 19 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
PHP实现网上点歌(二)
2006/10/09 PHP
有关 PHP 和 MySQL 时区的一点总结
2008/03/26 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
实例讲解PHP表单
2020/06/10 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
Prototype ObjectRange对象学习
2009/07/19 Javascript
理清apply(),call()的区别和关系
2011/08/14 Javascript
jquery 获取表单元素里面的值示例代码
2013/07/28 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
innerText 使用示例
2014/01/23 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
使用Python脚本操作MongoDB的教程
2015/04/16 Python
浅谈Python中数据解析
2015/05/05 Python
详解Python中for循环的使用方法
2015/05/14 Python
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
python的常见矩阵运算(小结)
2019/08/07 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
如何让Java程序执行效率更高
2014/06/25 面试题
心理健康课教学反思
2014/02/13 职场文书
优乐美广告词
2014/03/14 职场文书
园艺师求职信
2014/04/27 职场文书
2015年考研复习计划
2015/01/19 职场文书
求职自荐信怎么写
2015/03/04 职场文书
专职安全员岗位职责
2015/04/11 职场文书
员工辞职信范文大全
2015/05/12 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书