微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
更新时间:2019年01月24日 10:00:51 作者:Rattenking
这篇文章主要介绍了微信小程序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源码:
点击此处本站下载。
希望本文所述对大家微信小程序开发有所帮助。
相关文章
跟我学Node.js(四)---Node.js的模块载入方式与机制
Node.js中模块可以通过文件路径或名字获取模块的引用。模块的引用会映射到一个js文件路径,除非它是一个Node内置模块。Node的内置模块公开了一些常用的API给开发者,并且它们在Node进程开始的时候就预加载了。2014-06-06
最新评论