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

 更新时间:2018年02月02日 10:23:29   作者:Rattenking  
这篇文章主要为大家详细介绍了微信小程序实现YDUI的ScrollNav组件,滚动导航效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

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

相关文章

  • 推荐一个封装好的getElementsByClassName方法

    推荐一个封装好的getElementsByClassName方法

    这篇文章主要推荐一个封装好的getElementsByClassName方法,需要的朋友可以参考下
    2014-12-12
  • javascript 星级评分效果(手写)

    javascript 星级评分效果(手写)

    今天上午抽空随手写了个星级评分的效果,给大家分享下。由于水平有限,如有问题请指出;首先要准备一张星星的图片,灰色是默认状态,黄色是选择状态,需要的朋友可以参考下
    2012-12-12
  • BootStrap前端框架使用方法详解

    BootStrap前端框架使用方法详解

    这篇文章主要介绍了BootStrap前端框架使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 用html+css+js实现的一个简单的图片切换特效

    用html+css+js实现的一个简单的图片切换特效

    这篇文章主要介绍了用html+css+js实现的一个简单的图片切换特效,需要的朋友可以参考下
    2014-05-05
  • 一些经常会用到的Javascript检测函数

    一些经常会用到的Javascript检测函数

    一些经常会用到的Javascript检测函数,都是在prototype上面的扩展。
    2010-05-05
  • 详解JavaScript的变量和数据类型

    详解JavaScript的变量和数据类型

    这篇文章主要介绍了详解JavaScript的变量和数据类型,需要的朋友可以参考下
    2015-11-11
  • webpack构建的详细流程探底

    webpack构建的详细流程探底

    目前,几乎所有业务的开发构建都会用到 webpack 。所以下面这篇文章主要给大家介绍了关于webpack构建的详细流程的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2018-01-01
  • C++中的string类的用法小结

    C++中的string类的用法小结

    通过在网站上的资料搜集,得到了很多关于string类用法的文档,通过对这些资料的整理和加入一些自己的代码,就得出了一份比较完整的关于string类函数有哪些和怎样用的文档了!
    2015-08-08
  • javascript实现简单滚动窗口

    javascript实现简单滚动窗口

    这篇文章主要为大家详细介绍了javascript实现简单滚动窗口,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • JS二进制流文件下载导出(接口返回二进制流)乱码处理方法

    JS二进制流文件下载导出(接口返回二进制流)乱码处理方法

    这篇文章主要介绍了JS二进制流文件下载导出(接口返回二进制流)乱码处理方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-12-12

最新评论