微信小程序实现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 相关文章推荐
兼容IE与firefox火狐的回车事件(js与jquery)
Oct 20 Javascript
仿微博字符限制效果实现代码
Apr 20 Javascript
jquery下checked取值问题的解决方法
Aug 09 Javascript
JS延迟加载加快页面打开速度示例代码
Dec 30 Javascript
Javascript模拟加速运动与减速运动代码分享
Dec 11 Javascript
Javascript监视变量变化的方法
Jun 09 Javascript
JavaScript实现打开链接页面的方式汇总
Jun 02 Javascript
jquery.tableSort.js表格排序插件使用方法详解
Aug 12 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
Apr 05 Javascript
Vue自定义指令实现checkbox全选功能的方法
Feb 28 Javascript
手把手教您实现react异步加载高阶组件
Apr 07 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
Sep 21 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时区问题
2008/03/26 PHP
php REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
2013/03/05 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
Python中使用PDB库调试程序
2015/04/05 Python
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
Python 专题六 局部变量、全局变量global、导入模块变量
2017/03/20 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
python实现微信自动回复及批量添加好友功能
2019/07/03 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
一套C++笔试题面试题
2012/06/06 面试题
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
文员个人求职自荐信
2013/09/21 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
课外活动实习计划
2015/01/19 职场文书
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL