微信小程序实现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 动态生成私有变量访问器
Dec 06 Javascript
javascript实现table表格隔行变色的方法
May 13 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
Jun 22 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
Nov 24 Javascript
JavaScript中的继承之类继承
May 01 Javascript
js实现贪吃蛇小游戏(容易理解)
Jan 22 Javascript
react native仿微信PopupWindow效果的实例代码
Aug 07 Javascript
Vue绑定内联样式问题
Oct 17 Javascript
VSCode使用之Vue工程配置eslint
Apr 30 Javascript
JavaScript实现简易聊天对话框(加滚动条)
Feb 10 Javascript
Vue如何将页面导出成PDF文件
Aug 17 Javascript
利用js实现简单开关灯代码
Nov 23 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
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
php实现自定义中奖项数和概率的抽奖函数示例
2017/05/26 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
Python读取excel中的图片完美解决方法
2018/07/27 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
python实现的Iou与Giou代码
2020/01/18 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
如何用python处理excel表格
2020/06/09 Python
python从PDF中提取数据的示例
2020/10/30 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
初二物理教学反思
2014/01/29 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
超市员工辞职信范文
2015/05/12 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android