微信小程序实现YDUI的ScrollNav组件


Posted in Javascript onFebruary 02, 2018

本文实例为大家分享了微信小程序实现滚动导航效果的具体代码,供大家参考,具体内容如下

DEMO下载

效果图

微信小程序实现YDUI的ScrollNav组件

实现原理

采用双 scroll-view 组件实现双滚动!

WXML

<!--导航滚动 -->
<scroll-view class="tui-city-scroll" scroll-x="true" scroll-into-view="NAV{{status}}" scroll-with-animation="true">
 <text bindtap="getStatus" id="NAV{{index}}" class="tui-nav-li {{index === status ? 'tui-nav-active' : ''}}" data-index="{{index}}" wx:for="{{navList}}">{{item}}</text>
</scroll-view>
<!--列表滚动区 -->
<view class="tui-fixed-y">
 <scroll-view class="tui-city-scroll-y" scroll-y="true" scroll-into-view="NAV{{status}}" scroll-with-animation="true">
 <view wx:for="{{navList}}">
  <view id="NAV{{index}}" class="tui-list-head">{{item}}</view>
  <view class="tui-list-li">{{item}} 列表 {{index}}</view>
 </view>
 </scroll-view>
</view>

WXSS

.tui-fixed-x{
 width: 100%;
 position: fixed;
 top: 0;
 left: 0;
}
.tui-city-scroll{
 height: 80rpx;
 line-height: 80rpx;
 width: 100%;
 white-space: nowrap;
}
.tui-nav-li{
 font-size: 30rpx;
 padding: 0 8rpx;
}
.tui-nav-li:first-child{padding-left: 16rpx;}
.tui-nav-li:last-child{padding-right: 16rpx;}
.tui-nav-active{color: red;}

.tui-fixed-y{
 width: 100%;
 height: calc(100% - 80rpx);
 position: fixed;
 bottom: 0;
 left: 0;
}
.tui-city-scroll-y{
 padding: 0 20rpx;
 height: 100%;
 box-sizing: border-box;
}
.tui-list-head{
 height: 50px;
 line-height: 50px;
 text-align: center;
 font-size: 30rpx;
 color: blue;
}
.tui-list-li{
 height: 400px;
 padding: 10rpx;
 color: #fff;
 font-size: 50rpx;
 background-color: lightgreen;
}

JS

Page({
 data: {
 navList: ['今日特惠', '烟灶推荐', '净水饮水推荐', '洗碗机推荐', '电热推荐', '燃热推荐', '消毒柜推荐', '嵌入式推荐', '商用电器','活动说明'],
 status: 0
 },
 getStatus(e){
 this.setData({ status: e.currentTarget.dataset.index})
 }
})

注意

  • scroll-view 组件如果横向滚动必须要有一个可视宽度,纵向滚动必须要有一个可视高度;
  • 滚动的定位采用 scroll-view 组件的 scroll-into-view 属性,用 id 进行定位。

DEMO下载

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

Javascript 相关文章推荐
JavaScript 编写匿名函数的几种方法
Feb 21 Javascript
jquery对元素拖动排序示例
Jan 16 Javascript
使用delegate方法为一个tr标签加一个链接
Jun 27 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
Mar 04 Javascript
深入解析Javascript闭包的功能及实现方法
Jul 10 Javascript
微信小程序 教程之模块化
Oct 17 Javascript
老生常谈angularjs中的$state.go
Apr 24 Javascript
vue 使用Jade模板写html,stylus写css的方法
Feb 23 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
Dec 05 Javascript
JS随机密码生成算法
Sep 23 Javascript
解决Vue动态加载本地图片问题
Oct 09 Javascript
在JavaScript中如何使用宏详解
May 06 Javascript
vuex的简单使用教程
Feb 02 #Javascript
详解VueJS应用中管理用户权限
Feb 02 #Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
Feb 02 #Javascript
使用express+multer实现node中的图片上传功能
Feb 02 #Javascript
Vue多种方法实现表头和首列固定的示例代码
Feb 02 #Javascript
jquery.picsign图片标注组件实例详解
Feb 02 #jQuery
使用webpack打包koa2 框架app
Feb 02 #Javascript
You might like
自动跳转中英文页面
2006/10/09 PHP
php桌面中心(三) 修改数据库
2007/03/11 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
ext 代码生成器
2009/08/07 Javascript
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
第八篇Bootstrap下拉菜单实例代码
2016/06/21 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
Vue二次封装axios为插件使用详解
2018/05/21 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
[51:15]完美世界DOTA2联赛PWL S2 PXG vs Magma 第一场 11.21
2020/11/24 DOTA
Python pickle类库介绍(对象序列化和反序列化)
2014/11/21 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
介绍一下linux文件系统分配策略
2013/02/25 面试题
关键字throw与throws的用法差异
2016/11/22 面试题
电脑专业个人求职信范文
2014/02/04 职场文书
自主招生自荐信指南
2014/02/04 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
预备党员表决心的话
2015/09/22 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript