微信小程序实现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 相关文章推荐
jquery显示和隐藏div特效实例
Feb 27 Javascript
Extjs407 getValue()和getRawValue()区别介绍
May 21 Javascript
利用JS进行图片的切换即特效展示图片
Dec 03 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
Jan 06 Javascript
JavaScript中的包装对象介绍
Jan 27 Javascript
javascript实现输出指定行数正方形图案的方法
Aug 03 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
Oct 09 Javascript
jquery+ajax实现省市区三级联动效果简单示例
Jan 04 Javascript
Javascript实现动态时钟效果
Nov 17 Javascript
Layui tree 下拉菜单树的实例代码
Sep 21 Javascript
JavaScript Canvas编写炫彩的网页时钟
Oct 16 Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 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
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
filemanage功能中用到的common.js
2007/04/08 Javascript
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
Bootstrap树形控件使用方法详解
2016/01/27 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
Augularjs-起步详解
2016/07/08 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
详解Vue+elementUI build打包部署后字体图标丢失问题
2020/07/13 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
粗略分析Python中的内存泄漏
2015/04/23 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
Python读写压缩文件的方法
2020/07/30 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
2021/01/27 Python
一些关于MySql加速和优化的面试题
2014/01/30 面试题
群众路线剖析材料
2014/02/02 职场文书
机械制造专业毕业生求职信
2014/03/02 职场文书
三好学生事迹材料
2014/12/24 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
大学生村官个人总结
2015/02/15 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
安全生产奖惩制度
2015/08/06 职场文书
教你用python控制安卓手机
2021/05/13 Python
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS