首页 > 编程 > JavaScript > 正文

微信小程序实现YDUI的ScrollNav组件

2019-11-19 14:25:41
字体:
来源:转载
供稿:网友

本文实例为大家分享了微信小程序实现滚动导航效果的具体代码,供大家参考,具体内容如下

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下载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表