微信小程序顶部导航栏滑动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 相关文章推荐
javascript基础知识大集锦(一) 推荐收藏
Jan 13 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
May 07 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
Aug 21 Javascript
jQuery实现TAB选项卡切换特效简单演示
Mar 04 Javascript
使用AJAX实现Web页面进度条的实例分享
May 06 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
May 11 Javascript
JavaScript操作文件_动力节点Java学院整理
Jun 30 Javascript
webpack打包非模块化js的方法
Oct 24 Javascript
深入理解react 组件类型及使用场景
Mar 07 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
Apr 14 Javascript
微信小程序自定义联系人弹窗
May 26 Javascript
聊聊JS ES6中的解构
Apr 29 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的FTP学习(二)[转自奥索]
2006/10/09 PHP
PHP使用数组实现队列
2012/02/05 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
PHP怎样用正则抓取页面中的网址
2016/08/09 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
jquery异步循环获取功能实现代码
2010/09/19 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
Python中使用不同编码读写txt文件详解
2015/05/28 Python
python利用datetime模块计算时间差
2015/08/04 Python
python datetime中strptime用法详解
2019/08/29 Python
在django中使用post方法时,需要增加csrftoken的例子
2020/03/13 Python
浅析HTML5的WebSocket与服务器推送事件
2016/02/19 HTML / CSS
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
高级文秘工作总结的自我评价
2013/09/28 职场文书
致100米运动员广播稿
2014/02/14 职场文书
房地产公司见习自我鉴定
2014/04/28 职场文书
签约仪式策划方案
2014/06/02 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
诚信承诺书
2015/01/19 职场文书
承诺书范本
2015/01/21 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
生产实习心得体会范文
2016/01/22 职场文书
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript