微信小程式----導航欄透明漸變二(MUI導航欄透明漸變)
阿新 • • 發佈:2019-01-07
導航欄透明漸變效果
實現原理
- 給page-group設定的背景顏色採用rgba;
- 通過改變rgba其中a的值來實現透明漸變。
WXML
<view style="height:100%;position:fixed;width:100%;">
<scroll-view scroll-y="false" bindscroll="scroll" style="height:100%;">
<!-- 改變位置,去掉多餘的view,直接改變背景色的透明度實現透明漸變 -->
<view class="page-group" style="background-color: rgba(138, 43, 226,{{scrollTop / 400 > 0.9 ? 0.9 : scrollTop / 400}});">
<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;}
/*去掉多餘的class,直接設定背景色為rgba格式*/
.page-group{
display: table;
width: 100%;
table-layout: fixed;
background-color: rgba(138, 43, 226,0);
position: fixed;
top: 0;
left: 0;
z-index: 10;
}
.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.優點是去掉了多餘的view空和class程式碼,減少了程式碼,實現了相同的效果。
2.缺點就是在微信開發者工具中,儲存重新整理不能獲取當前位置scrollTop,只有滾動才能獲取scrollTop。