微信小程序实现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 相关文章推荐
js修改table中Td的值(定义td的单击事件)
Jan 10 Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
用js闭包的方法实现多点标注冒泡示例
May 29 Javascript
JavaScript编程学习技巧汇总
Feb 21 Javascript
基于Vue.js的表格分页组件
May 22 Javascript
JavaScript对JSON数据进行排序和搜索
Jul 24 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
Aug 06 Javascript
JavaScript框架Angular和React深度对比
Nov 20 Javascript
移动端如何用下拉刷新的方式实现上拉加载
Dec 10 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
May 08 Javascript
关于Layui Table隐藏列问题
Sep 16 Javascript
vue keep-alive的简单总结
Jan 25 Vue.js
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
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
javascript动态的改变IFrame的高度实现自动伸展
2013/10/12 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
AngularJS报错$apply already in progress的解决方法分析
2017/01/30 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
async/await优雅的错误处理方法总结
2019/01/30 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
Python实现区域填充的示例代码
2021/02/03 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
奖学金自我鉴定范文
2013/10/03 职场文书
银行财务部实习生的自我鉴定
2013/11/27 职场文书
创业培训计划书
2014/05/03 职场文书
公司建议书怎么写
2014/05/15 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python
Python上下文管理器Content Manager
2021/06/26 Python
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技