经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » 微信小程序 » 查看文章
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
来源:jb51  时间:2019/1/25 9:03:52  对本文有异议

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

导航栏透明渐变效果

实现原理

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

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

WXML

  1. <!--pages/scroll/scroll.wxml-->
  2. <view style="height:100%;position:fixed;width:100%;">
  3. <scroll-view scroll-y="false" bindscroll="scroll" style="height:100%;">
  4. <view class="page-group">
  5. <view class="page-group-position" style="opacity:{{scrollTop / 400 > 0.9 ? 0.9 : scrollTop / 400}}"></view>
  6. <view class="page-nav-list"><text>首页</text></view>
  7. <view class="page-nav-list"><text>活动</text></view>
  8. <view class="page-nav-list"><text>菜单</text></view>
  9. <view class="page-nav-list"><text>我的</text></view>
  10. </view>
  11. <view class="page-banner">
  12. banner
  13. </view>
  14. <view class="goods-list">
  15. goods-list1
  16. </view>
  17. <view class="goods-list list2">
  18. goods-list2
  19. </view>
  20. <view class="goods-list list3">
  21. goods-list3
  22. </view>
  23. <view class="goods-list list4">
  24. goods-list4
  25. </view>
  26. </scroll-view>
  27. </view>
  28.  

WXSS

  1. .page-banner{height: 500rpx;background-color: greenyellow;padding: 20rpx;color:#fff;padding-top: 100rpx;}
  2. .page-group{
  3. display: table;
  4. width: 100%;
  5. table-layout: fixed;
  6. position: fixed;
  7. top: 0;
  8. left: 0;
  9. z-index: 10;
  10. }
  11. .page-group-position{
  12. width: 100%;
  13. height: 100%;
  14. position: absolute;
  15. top: 0;
  16. left: 0;
  17. background-color: blueviolet;
  18. opacity: 0;
  19. z-index: -1;
  20. }
  21. .page-nav-list{
  22. padding:30rpx 0 ;
  23. display: table-cell;
  24. text-align: center;
  25. width: 100%;
  26. color: #fff;
  27. }
  28. .goods-list{
  29. height: 500rpx;
  30. background-color: green;
  31. padding: 20rpx;
  32. color:#fff;
  33. }
  34. .list2{background-color: blue;}
  35. .list3{background-color: yellow;}
  36. .list4{background-color: red;}
  37.  

JS

  1. Page({
  2. data: {
  3. scrollTop: null
  4. },
  5. //滚动条监听
  6. scroll: function (e) {
  7. this.setData({ scrollTop: e.detail.scrollTop })
  8. },
  9. })
  10.  

总结:

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

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

Demo源码:

点击此处jb51下载

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号