一、效果图

二、涉及到组件

1.view组件

2.swiper组件

三、原理

整体来讲是比较简单的,顶部的navbar是使用flex进行布局的;下面的内容区域则是使用到swiper组件,使用方式比较简单,可以查看微信小程序的文档。

四、代码

wxml:

 <view class="movie-container">
<!-- 导航栏 -->
<view class="navbar">
<block wx:for="{{navbarTitle}}" wx:key="index">
<view class="navbar-item {{navbarActiveIndex === index ? 'navbar-item-active' : ''}}" data-navbar-index="{{index}}" catchtap="onNavBarTap">
<text>{{item}}</text>
</view>
</block>
</view>
<view class="movie-content-wrapper">
<swiper current="{{navbarActiveIndex}}" bindanimationfinish="onBindAnimationFinish">
<swiper-item wx:for="{{navbarTitle}}" wx:key="index">
<scroll-view scroll-y="{{true}}">
{{item}}
</scroll-view>
</swiper-item>
</swiper>
</view>
</view>

wxss:

 .movie-container{
display: flex;
flex-direction: column;
}
.navbar{
display: flex;
position: absolute;
left:;
top:;
z-index:;
width: 100%;
height: 50px;
flex-direction: row;
text-align: center;
color: #A8A8A8;
font-size: 15px;
box-sizing: border-box;
background-color: #FFF;
border-bottom: 1rpx solid #DFDFDF;
}
.navbar-item{
flex:;
padding: 26rpx 0px;
}
.navbar-item-active{
transition: all 0.3s;
border-bottom: 10rpx solid #494949;
color: #494949;
} .movie-content-wrapper{
padding-top: 50px;
}

js:

 Page({

   /**
* 页面的初始数据
*/
data: {
navbarActiveIndex: 0,
navbarTitle: [
"热映",
"Top250",
"口碑榜",
"新片榜"
]
}, /**
* 点击导航栏
*/
onNavBarTap: function (event) {
// 获取点击的navbar的index
let navbarTapIndex = event.currentTarget.dataset.navbarIndex
// 设置data属性中的navbarActiveIndex为当前点击的navbar
this.setData({
navbarActiveIndex: navbarTapIndex
})
}, /**
*
*/
onBindAnimationFinish: function ({detail}) {
// 设置data属性中的navbarActiveIndex为当前点击的navbar
this.setData({
navbarActiveIndex: detail.current
})
}
})

代码比较简单,记录学习一下。

微信小程序实现navbar导航栏的更多相关文章

  1. 微信小程序自定义底部导航栏组件+跳转

    微信小程序本来封装有底部导航栏,但对于想自定义样式和方法的开发者来说,这并不是很好. 参考链接:https://github.com/ljybill/miniprogram-utils/tree/ma ...

  2. 微信小程序之页面导航栏

    效果图: 页面有点丑,作为初次学习,页面可以要求不那么美观,先学会再说.毕竟后面可以优化的很漂亮. 代码实例如下: <view class="section btn-area" ...

  3. 微信小程序 自定义头部导航栏和导航栏背景图片 navigationStyle

    ​ 这两天因为要做一个带背景的小程序头,哭了,小程序导航栏有背景也就算了,还得让导航栏上的背景顺下来,心态小崩.现在可以单独设置一个页面的小程序头了,但是前提是要微信7.0以上的版本,考虑到兼容性问题 ...

  4. 微信小程序-如何自定义导航栏(navigationStyle)?

    小程序是越来越开放了,微信版本 6.6.0可以自定义导航? 先了解下app.json中window配置navigationStyle属性,即导航栏样式,仅支持 default/custom.custo ...

  5. 微信小程序入门四: 导航栏样式、tabBar导航栏

    实例内容 导航栏样式设置 tabBar导航栏 实例一:导航栏样式设置 小程序的导航栏样式在app.json中定义. 这里设置导航,背景黑色,文字白色,文字内容测试小程序 app.json内容: { & ...

  6. 微信小程序:自定义导航栏

    在小程序开发的时候会遇到一些页面不需要头部导航,或像淘宝的商品详情一样自定义的导航栏.那先要清楚这导航可不能写死,每种手机的导航都各不相同. 一.在app.json的window对象中定义导航的样式: ...

  7. 微信小程序之自定义导航栏(可实现动态添加)以及swiper(swiper-item)实现自动切换,导航标题也跟着切换

    <view class="movie-container"> <!-- 导航栏 --> <view > <scroll-view scro ...

  8. 微信小程序自定义头部导航栏

    <!--index.wxml--> <view> <navbar id='index_header' background='{{background}}' pageNa ...

  9. 微信小程序之顶部导航栏

    wxml: <!--导航条--><view class="navbar"> <text wx:for="{{navbar}}" d ...

随机推荐

  1. sql防止注入的技巧

    from Stack Overflow Here is a similar solution which I think is more efficient in building up the li ...

  2. 【转】别人写的pe代码

    // PEOperate.cpp: implementation of the PEOperate class. // //////////////////////////////////////// ...

  3. eq(index|-index)

    eq(index|-index) 概述 获取当前链式操作中第N个jQuery对象,返回jQuery对象,当参数大于等于0时为正向选取,比如0代表第一个,1代表第二个.当参数为负数时为反向选取,比如-1 ...

  4. ACM省赛及蓝桥总结,且随疾风前行,身后亦须留心

    今年算是开始正式打比赛了,真正打起比赛来感觉的确是和平时训练不太一样,最重要的还是在心态和信心上. ACM省赛是拿下个银牌,昭哥上来就把K题金牌题给当签到题给签掉了,可惜我们没有利用好这一题.感觉第一 ...

  5. JS学习-01

    01

  6. Postman请求运行顺序及Workflow

    作为一款接口调试利器, Postman的更新迭代速度很快, 不断加入了很多新的功能.使的api设计,测试,监控, Mock,以及团队协作更加方便. 修改执行顺序 在遇到有接口依赖的情况, 我们往往需要 ...

  7. java实现二维码的生成与解析

    简单介绍下二维码:二维码其实就是一种编码技术,只是这种编码技术是用在图片上了,将给定的一些文字,数字转换为一张经过特定编码的图片,而解析二维码则相反,就是将一张经过编码的图片解析为数字或者文字. 当然 ...

  8. 【零基础】简单说说一键果体APP的AI

    参考: https://www.jianshu.com/p/8c7a7cb7198c https://blog.csdn.net/gdymind/article/details/82696481 零. ...

  9. Python中Bool为False的情况

    在python中,以下数值会被认为是False: 为0的数字,包括0,0.0空字符串,包括'', ""表示空值的None空集合,包括(),[],{}其他的值都认为是True. No ...

  10. LeetCode 41. 缺失的第一个正数(First Missing Positive)

    题目描述 给定一个未排序的整数数组,找出其中没有出现的最小的正整数. 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8 ...