微信小程序实现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 function定义函数使用心得
Apr 15 Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
Mar 04 Javascript
jquery 显示*天*时*分*秒实现时间计时器
May 07 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
Jan 25 Javascript
BootStrap智能表单demo示例详解
Jun 13 Javascript
轻松实现jquery选项卡切换效果
Oct 10 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
Nov 15 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
Jun 19 Javascript
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
vue 实现特定条件下绑定事件
Nov 09 Javascript
详解datagrid使用方法(重要)
Nov 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
社区(php&amp;&amp;mysql)一
2006/10/09 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
PHP中mysqli_get_server_version()的实例用法
2020/02/03 PHP
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
jQuery对表单的操作代码集合
2011/04/06 Javascript
jquery 插件学习(五)
2012/08/06 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
JavaScript中document.forms[0]与getElementByName区别
2015/01/21 Javascript
Javascript 高阶函数使用介绍
2015/06/15 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
JS实现吸顶特效
2020/01/08 Javascript
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
python查询sqlite数据表的方法
2015/05/08 Python
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
python编写简单爬虫资料汇总
2016/03/22 Python
python 接口返回的json字符串实例
2018/03/27 Python
在Django中输出matplotlib生成的图片方法
2018/05/24 Python
django框架auth模块用法实例详解
2019/12/10 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
贸易经济专业自荐书
2014/06/29 职场文书
北大自主招生自荐信
2015/03/04 职场文书
公司表扬稿范文
2015/05/05 职场文书
无房证明样本
2015/06/17 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers