微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)

本文实例讲述了微信小程序MUI导航栏透明渐变功能。分享给大家供大家参考,具体如下:

导航栏透明渐变效果

实现原理

1. 利用position:absolute在导航下定位一个view作为背景渐变使用;

2. 通过改变改view的opacity来实现透明渐变。

WXML

<!--pages/scroll/scroll.wxml-->

<view style="height:100%;position:fixed;width:100%;">

<scroll-view scroll-y="false" bindscroll="scroll" style="height:100%;">

<view class="page-group">

<view class="page-group-position" style="opacity:{{scrollTop / 400 > 0.9 ? 0.9 : scrollTop / 400}}"></view>

<view class="page-nav-list"><text>首页</text></view>

<view class="page-nav-list"><text>活动</text></view>

<view class="page-nav-list"><text>菜单</text></view>

<view class="page-nav-list"><text>我的</text></view>

</view>

<view class="page-banner">

banner

</view>

<view class="goods-list">

goods-list1

</view>

<view class="goods-list list2">

goods-list2

</view>

<view class="goods-list list3">

goods-list3

</view>

<view class="goods-list list4">

goods-list4

</view>

</scroll-view>

</view>

WXSS

.page-banner{height: 500rpx;background-color: greenyellow;padding: 20rpx;color:#fff;padding-top: 100rpx;}

.page-group{

display: table;

width: 100%;

table-layout: fixed;

position: fixed;

top: 0;

left: 0;

z-index: 10;

}

.page-group-position{

width: 100%;

height: 100%;

position: absolute;

top: 0;

left: 0;

background-color: blueviolet;

opacity: 0;

z-index: -1;

}

.page-nav-list{

padding:30rpx 0 ;

display: table-cell;

text-align: center;

width: 100%;

color: #fff;

}

.goods-list{

height: 500rpx;

background-color: green;

padding: 20rpx;

color:#fff;

}

.list2{background-color: blue;}

.list3{background-color: yellow;}

.list4{background-color: red;}

JS

Page({

data: {

scrollTop: null

},

//滚动条监听

scroll: function (e) {

this.setData({ scrollTop: e.detail.scrollTop })

},

})

总结:

1. 需要scroll-view组件配合使用才能获取scrollTop;

2. scrollTop / 400 > 0.9,这里400的距离是根据需求改变,0.9是背景最后的半透明值,可以根据页面调节。

Demo源码:

点击此处本站下载。

希望本文所述对大家微信小程序开发有所帮助。

以上是 微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现) 的全部内容, 来源链接: utcz.com/z/336445.html

回到顶部