微信小程序实现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(jquery)利用函数修改全局变量的代码
Nov 02 Javascript
jQuery 操作option的实现代码
Mar 03 Javascript
JavaScript学习笔记(二) js对象
Oct 25 Javascript
js查错流程归纳
May 04 Javascript
js控制表单奇偶行样式的简单方法
Jul 31 Javascript
JavaScript实现多个重叠层点击切换效果的方法
Apr 24 Javascript
jquery中object对象循环遍历的方法
Dec 18 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
Feb 04 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
使用canvas实现一个vue弹幕组件功能
Nov 30 Javascript
一次微信小程序内地图的使用实战记录
Sep 09 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
Nov 07 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
PHP date函数参数详解
2006/11/27 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
JS无限树状列表实现代码
2011/01/11 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
jquery对表单操作2
2011/04/06 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
JavaScript fetch接口案例解析
2018/08/30 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
在Django的视图(View)外使用Session的方法
2015/07/23 Python
python读写json文件的简单实现
2017/04/11 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
Python实现抢购IPhone手机
2018/02/07 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
python获取引用对象的个数方式
2019/12/20 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
python -v 报错问题的解决方法
2020/09/15 Python
numpy实现RNN原理实现
2021/03/02 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
银行会计主管岗位职责
2014/10/01 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python