微信小程序自定义头部状态栏+滚动头部半透明效果

这篇具有很好参考价值的文章主要介绍了微信小程序自定义头部状态栏+滚动头部半透明效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求一:头部图片贯穿手机状态栏,及nav的标题胶囊等:(返回图标 标题 胶囊)
  • 思路:状态栏那一横块自定义后会自动往上跑,下方背景图片块默认向上填充,此时两块是重叠状态
    通过微信自带方法设置状态栏高度,宽度等
//wxml
<!-- header -->
<view class="header common_fbox {{isScrollbg?'header-scroll':''}}" style="height: {{navHeight+10}}px;" >
    <view class="common_zbox common_flex" style="height: {{navHeight}}px;" >
        <view class="back-home" style="margin-top:{{customMarginTop}}px; height: {{customHeight}}px;line-height: {{customHeight}}px;" bindtap="goBack">
            <image src="/static/images/home.png" alt="" />
            <!-- <text>返回</text> -->
        </view> 
        <view class="fome-title" style="margin-top:{{customMarginTop}}px; height: {{customHeight}}px;">
          <text>xxxx标题</text>
        </view>
       <view style="width: {{100% - customWidth}}px"></view>
        
    </view>
</view>
<!-- 背景图片 -->
<view class="form-bg">
  <image src="{{bgpic}}" mode=""/>
</view>
/公共复用*/
view,image,input,text,button,textarea {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  /* font-size: 0; */
}
input,textarea{
  outline: none;
  border: none;
}
.common_fbox{
  width:750rpx;
  max-width:750rpx;
  /* background: #fff; */
  margin: 0 auto;
}
.common_zbox{
  width: 750rpx;
  padding: 0 15rpx;
  margin: 0 auto;
}
.common_flex{ 
  display: flex;
}
/*---*/
/*header  */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: all 0.3s ease-in-out;
}
.header-scroll{
  background:rgba(0,0,0,0.4);
}
.header .common_zbox{
   width: 100%;
}
.header .common_flex>view{
  width: 33.3333%;
}
.header .back-home {
  width: 60rpx;
  padding-left: 40rpx;
  text-align: left;
}
.header .back-home>image,.header .back-home>text{
  vertical-align: middle;
}
.header .back-home image{
  width:36rpx;
  height: 36rpx;
}
.header .back-home text{
  font-size: 28rpx;
  color: #3269ff;
}
.header .fome-title{
  height: 60rpx;
  border-radius:30rpx;
  text-align: center;
  line-height:60rpx;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.header .fome-title text{
  font-size:34rpx ;
  color:#fff ;
}
data:{
	isScrollbg:false,//滑动头部半透明
    navHeight: '',
    menuButtonInfo: {},//头部胶囊信息
    customMarginTop: 0, // 自定义头部上边距
    customWidth: 0, // 自定义头部宽度
    customHeight: 0, // 自定义头部高度
}
 onLoad(options) {
    this.setStatusBar();//设置状态栏高度
  },
  //设置状态栏高度
 setStatusBar(){
    this.setData({menuButtonInfo:wx.getMenuButtonBoundingClientRect()});
   
    const { top, width, height, right } = this.data.menuButtonInfo;
    wx.getSystemInfo({//获取状态栏信息
      success: (result) => {
        const {statusBarHeight}= result;
        const margin = top - statusBarHeight;
        this.setData({
          navHeight:(height+statusBarHeight+(margin*2)),
          customMarginTop: statusBarHeight + margin, // 状态栏 + 胶囊按钮边距
          customHeight: height,  // 与胶囊按钮同高
          customWidth: right - width // 胶囊按钮右边坐标 - 胶囊按钮宽度 = 按钮左边可使用宽度

        })
      },
    })
  },
  // 页面滚动事件:设置状态栏在滚动后变成半透明
  onPageScroll(e){
    let that = this;
    if(e.scrollTop>100){
      that.setData({isScrollbg:true})
    }else{
      that.setData({isScrollbg:false})
    }
  },

文章来源地址https://www.toymoban.com/news/detail-609512.html

到了这里,关于微信小程序自定义头部状态栏+滚动头部半透明效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序自定义顶部导航栏的胶囊和微信自带的胶囊一样的透明背景色

    想要实现微信自带的右上角胶囊背景透明很简单,只需要在pages.js里面设置下面配置就可以了: 但是设置完这个后,胶囊的背景色是那种黑色半透明的效果:(微信开发者工具和真机上显示的效果不一致,要以真机为准) 手机端的效果:所以还是要以手机端为准   左侧的返

    2024年02月01日
    浏览(38)
  • 微信小程序自定义顶部导航,滚动页面顶部导航颜色渐变

    微信小程序自定义顶部导航栏,使背景图置顶;当向上滚动页面时,实现顶部导航颜色渐变 实现方法 代码如下(示例): 提示:由于不同的手机机型顶部导航高度不一样,所有要获取手机的信息 总共三步: 1、初始化获取顶部导航信息 2、顶部导航文字上方通过view占位,同

    2024年02月11日
    浏览(53)
  • 微信小程序 movable-view 控制长按才触发拖动 轻轻滑动页面正常滚动效果

    今天写 movable-area+movable-view遇到了个头疼的问题 那就是 movable-view 监听了用户拖拽自己 但 我们小程序 上下滚动页面靠的也是拖拽 也就是说 如果放在这里 用户拖动 movable-view部分 就会永远触发不了滚动 那么 我们先可以 加一个 bindlongpress=\\\"longpressHandler\\\"事件 用户长按时触发 然

    2024年02月06日
    浏览(41)
  • 微信小程序自定义顶部状态栏滑动显示标题居中

    开启了自定义顶部的配置,轮播图覆盖了顶部,所以需要做一个上滑到胶囊后重新把标题重新展示出来的操作,自定义标题出现不居中情况,以下为解决后的方案,复制粘贴即可: . wxml: . . wxss: . . 滑动事件:滑动到胶囊后把标题展示出来 . . 计算胶囊按钮高度、状态栏高

    2024年02月17日
    浏览(48)
  • 微信小程序自定义主题颜色【状态栏tab样式同步更改】

     此功能使用js控制变量 调整颜色值,赋值给css颜色达到切换自定义颜色效果 1.创建公共样式userStyle.js文件,通过定义style1和style2来控制全局颜色改变。 注意:颜色值务必为十六进制,避免API不兼容颜色 2.在index.js中引入userColor并放入data中。 打印userColor     3.index.wxml中将变

    2024年02月03日
    浏览(46)
  • uniapp vue3 h5,微信小程序滚动屏幕元素渐入动画&自定义导航栏

    项目文件下载地址 实际效果如下: 注意事项: animate.css需要添加样式兼容微信小程序; 微信小程序滚动时boundingClientRect获取不到标签信息 1、HBuilderX打开uniapp创建的vue3项目,在编辑器下方打开终端输入npm install animate.css --save 安装模块 animate.css官网地址 参考官方文档安装使

    2024年02月15日
    浏览(51)
  • 在微信小程序中或UniApp中自定义tabbar实现毛玻璃高斯模糊效果

    backdrop-filter: blur(10px); 这一行代码表示将背景进行模糊处理,模糊程度为10像素。这会导致背景内容在这个元素后面呈现模糊效果。 background-color: rgb(255 255 255 / .32); 这一行代码表示设置元素的背景颜色为白色(RGB值为0, 0, 0),并且通过/符号后面的透明度值(32%不透明度)使背

    2024年04月09日
    浏览(46)
  • 【微信小程序】头部导航栏背景铺满顶部

    背景:使用uniapp开发微信小程序 需求:需要微信小程序顶部导航栏使用页面背景铺满顶部 我们可以利用 navigationStyle 属性,来处理导航栏样式,支持 default/custom,其中 custom 可自定义导航栏,只保留右上角胶囊状的按钮。 在pages.json 文件里,将globalStyle中新增或修改 navigatio

    2024年02月16日
    浏览(45)
  • 微信小程序如何实现自定义导航栏、导航栏手机适配(获取导航栏、状态栏高度和胶囊位置)以及踩过的坑

    背景:不用官方默认的导航栏,想用自己自定义的 实现效果: :顶部状态栏、顶部导航栏、顶部状态导航栏、胶囊 原理: 自定义导航栏无非就是求得导航栏高度,并让内容容器垂直方向居中于导航栏高度 1.获取手机系统状态栏高度 2.获取胶囊位置(包括高度) 3.求得

    2024年03月12日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包