小程序自定义导航之标题随页面滚动左右移动动画效果

微信小程序点击左侧分类导航,当前选中的项滚动到分类导航中间 先看效果图吧(点击标题5自动滚动到中间): 我研究出最简单的做法,会有瑕疵,点击的项滚动到中间不是很正中间,原因是根据屏幕的高度定制滚动间隔个数,或者是每个分类项高度误差影响不是很完美,但是至少简单能用,自己调整就可以用了,上代码: 1. shopCar.wxml <view class="container"> <!--左侧分类导航 : 首先使用相对定位将导航固定在页面左边,如果有头部导航和底部导航的需要自己计算各个的高度再定位分类导航, . 阅读详情

在这里插入图片描述默认状态下标题居中

在这里插入图片描述屏幕上滑标题向左移动图像变大
在这里插入图片描述屏幕上滑到设定值图像大小固定,标题位置固定

代码如下:
页面json文件设置为自定义模式

{
  "navigationBarTitleText": "标题栏",
  "navigationStyle": "custom",
  "navigationBarTextStyle": "black",
  "usingComponents": {
  }
}

wxml文件:

//导航栏样式
<view class="pageNavBg" style="height: calc({{statusBarHeight}}px + 100rpx)">
	<view class="pageNavContent flexBetween" style="margin-top: {{statusBarHeight}}px">
		<image class="shopLogo" src="/images/1.png" style="width:{{shopLogoSize}};height:{{shopLogoSize}}"></image>
		<view class="shopName overflowHidden1" style="left:calc(50% - {{shopNameWidth / 2}}px - {{shopNameDistance}})">帮礼挑</view>
		<view class="shopLogo" style="width:{{shopLogoSize}};height:{{shopLogoSize}}"></view>
	</view>
</view>
//正文样式
<view class="pageNavMain" style="padding-top: calc({{statusBarHeight}}px + 110rpx)">
<view>

样式文件:

.pageNavBg{position: fixed;z-index: 500;left: 0;width: calc(100% - 58rpx);padding: 0 30rpx;background: white}
.pageNavContent{font-size: 32rpx;height:100rpx;position: relative;}
.shopLogo{width: 72rpx;height: 72rpx;display: block;border-radius: 50%;}
.shopName{position: absolute;max-width: 220rpx;}
.pageMain{padding-bottom: 100rpx;overflow: scroll}

.flex{display: flex;align-items: center}
.flexBetween{display: flex;justify-content: space-between;align-items: center}

.overflowHidden1{ overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;}

js文件方法:

data参数:
	statusBarHeight: getApp().globalData.statusBarHeight,
    shopLogoSize:'0rpx', //店铺图像大小
    shopNameDistance:'0rpx' , //店铺名距离店铺图像距离
    shopNameWidth:'', //店铺名长度
 页面滚动方法:
// 根据页面滚动触发导航顶部移动缩放动画
  onPageScroll (e) {
    let topHeight = parseInt(e.scrollTop);
    if(topHeight>100 && topHeight< 200){
      let shopLogoSize = ((topHeight - 100) * 72 / 100) + 'rpx';
      let shopNameDistance = ((topHeight - 100) / 100) * (260 - Number(this.data.shopNameWidth)) + 'rpx'; 
      this.setData({shopLogoSize,shopNameDistance})
    }else if(topHeight <= 100){
      this.setData({shopLogoSize:'0rpx',shopNameDistance:'0rpx'})
    }else if(topHeight >= 200){
      this.setData({shopLogoSize:'72rpx',shopNameDistance:(260 - Number(this.data.shopNameWidth)) + 'rpx'})
    }
  },
	//获取标题长度
  onLoad: function (options) {
    var that = this;
    var query = wx.createSelectorQuery();
    query.select('.shopName').boundingClientRect(function (rect) {
      that.setData({
        shopNameWidth: rect.width
      })
    }).exec();
  }

app.js文件获取设备信息方法

onShow: function() {
    let that = this;
    wx.getSystemInfo({
      success: res => {
        that.globalData.statusBarHeight = res.statusBarHeight;
        let modelmes = res.model;
        if (modelmes.search('iPhone X') != -1) {
          that.globalData.isIphoneX = true
        }
      }
    })
  },
小程序自定义导航栏实践:状态栏高度、胶囊按钮与动态标题适配 在移动端界面设计中,导航栏与标题栏看似简单,却是影响用户体验与跨端一致性的关键环节。小程序开发中,系统状态栏高度因机型而异,微信胶囊按钮位置固定但不可修改,原生导航栏样式受限,导致开发者常面临标题被刘海遮挡、层级返回混乱、动态标题失效等难题。自定义导航栏通过动态计算状态栏高度与胶囊按钮位置,以组件化方式实现视觉统一的标题栏布局,同时支持左侧返回、右侧自定义插槽与响应式标题切换,能有效适配iPhone与安卓的尺寸差异。该方案尤其适用于需要沉浸式背景、首页搜索框或渐变色调的界面,在uni-app跨端框架中可通过 阅读详情

相关推荐

微信小程序自定义导航栏全攻略:从原理到实践,告别原生限制

在移动端开发中,导航栏是用户交互的核心组件,其样式定制与交互扩展能力直接影响用户体验。原生导航栏通常提供有限的配置选项,难以满足品牌定制、动态效果等高级需求。通过隐藏原生导航栏并利用视图组件自主绘制,开发者可以获得完全的样式控制权与交互自由度,这是前端组件化与UI架构思想的典型应用。在微信小程序生态中,这涉及关键API如`wx.getSystemInfoSync()`获取状态栏高度,以及`wx.getMenuButtonBoundingClientRect()`计算胶囊按钮位置,从而实现精准布局。这种技术方

weixin_30475039的博客 399

原生微信小程序,navigate(导航栏)tab栏,tab栏与swiper结合,含过渡动画,初级

原生微信小程序,navigate(导航栏)tab栏,tab栏与swiper结合,含过渡动画,初级 看一下演示效果 之前也做过一个类似的,tab(navigator) 栏,但是 tab 标签下面的小横线没有过渡效果,看起来会很生硬,而且不是和 swiper 联动,总体效果不尽人意,这是一个改进版 之前的 tab 栏切换效果演示,用来做学习的话还是很不错的,感兴趣的可以点这里跳转->旧版(学习版)地址 看一下代码吧,实现起来比较简单,也比较初级 .wxml <!-- tab --> &lt

qq_40893035的博客 1278

微信小程序 - 最新详细实现 “左侧菜单,右侧内容“ 左右联动商品分类页面,左边是导航分类右侧是自定义内容,左侧分类菜单,右侧列表双向联动效果,左右二级联动,仿京东淘宝商城分类页面、美团外卖点餐界面!

微信小程序,vue2,vue3,左右联动菜单,商品分类页面,左分类右列表,小程序实现左侧菜单,右侧列表双向联动效果,侧边菜单和右边滚动条,电商项目,点击菜单子分类联动对应商品,分类左右联动,上拉加载以及下拉刷新,右侧列表双向联动,商品分类左右联动,scroll-view,锚点,点击左侧大类后侧列表跟着变跟着刷新,微信小程序实现菜单左右联动效果,左菜单 右边列表数据,左侧菜单,右侧列表双向联动效果,右侧商品滑动时,左侧分类导航栏的相应分类被选中,商城分类滚动列表锚点(左菜单右列表),美团外卖,京东商城,淘宝商

🏆 前端领域优质创作者 4901

uniapp vue3 h5,微信小程序滚动屏幕元素渐入动画&自定义导航栏

注意事项: animate.css需要添加样式兼容微信小程序; 微信小程序滚动时boundigClientRect获取不到标签信息 参考官方文档安装使用animate.css

qq_39143010的博客 2906

做量化没有实时数据怎么行?我找到一个超级好用的Python库,速度还贼快!

今天咱们介绍了 pytdx 这个神奇的库,重点包括:✅ 安装 pytdx✅ 连接 TDX 服务器✅ 获取实时行情数据✅ 获取 K 线数据✅ 获取分笔成交数据总之,pytdx 是一个速度快、免费、易用的量化利器,适合 A 股量化交易的同学们使用。如果你还在为数据发愁,赶紧试试吧!🚀顺手再看就是对花姐最大的支持,期待你的关注。

奔跑的蜗牛 5734

AI时代,程序员何去何从?别慌,看完这篇你就明白了

AI时代程序员的发展方向 摘要:随着AI代码助手的普及,程序员行业面临变革。本文通过实际案例展示AI写代码的能力与局限:AI能生成基础功能代码(如RESTful API、数据处理脚本),但缺乏业务理解、系统设计和复杂逻辑处理能力。程序员的核心价值在于需求分析、架构设计、性能优化等高层能力。未来程序员应: 掌握AI工具提升效率 专注于创新和架构设计 培养业务理解能力 持续学习新技术 AI不会取代程序员,但会淘汰不会使用AI的程序员。建议开发者拥抱AI工具,将其作为助手而非威胁,聚焦高价值工作。

yunque_xianguang的博客 908

小程序基本命令

onLoad: function () { // 生命周期函数--监听页面加载 onReady: function () { // 生命周期函数--监听页面初次渲染完成 }, onShow: function () { // 生命周期函数--监听页面显示 }, onHide: function () { // 生命周期函数--监...

aiven1637的博客 3559

银河麒麟v10(x86_64)升级openssh实操成功

本文详细介绍了在银河麒麟V10系统上将OpenSSH从8.2p1升级至9.9p2版本的全过程。主要内容包括:系统环境确认、安装telnet备用连接、备份配置、卸载旧版本、安装新版本、服务配置与验证等关键步骤。特别强调了安全注意事项,如必须安装telnet作为备用连接、重要配置备份等。升级后提供了安全加固建议,包括修改SSH端口、禁用root登录等。文章还包含详细的故障排查方法和恢复方案,确保升级过程安全可靠。通过本教程,用户可以顺利完成OpenSSH版本升级,提升系统安全性。

淘淘小窝 1094

微信小程序第五篇:页面弹出效果及共享元素动画

首先我们先看一下要完成的效果:我们要实现的效果就是点击歌单图片的时候,弹出一个假页并且伴随动画效果,当退出假页页面的时候,假页的歌单封面图会缩小到歌单页的封面图大小,并且移动到相应的位置。

qq_49900295的博客 4200

6 赫斯曼网管软件industrial hivision用户管理

文章目录前言一、打开Industrial HiVision服务器二、在用户管理界面添加策略三、使用可选策略四、接受策略总结 前言 安装 Industrial HiVision 后,所有人都能广泛使用程序。安全起见,请进行相 关配置,对访问权限进行限制。 本文主要介绍用户管理基于某种角色模型。在访问角色中定义角色名称,通过分配访问权限给这些角色分配角色功能。例如,给管理人员自然要分配可用的权限,而观察员尽管可以登录,但没有能够进行更改的权限。Industrial HiVision 提供以下访问角色: 

t98746194的博客 1381

MicroChip的SmartFusion2的M2S090芯片的全流程开发环境搭建和Demo设计

MicroChip的SmartFusion2的M2S090芯片的全流程开发环境搭建和Demo设计

qq_45806640的博客 459

微信小程序顶部栏图片随页面滚动渐变展示隐藏

微信小程序顶部栏图片随页面滚动渐变展示隐藏 小程序顶部通栏,展示图片,随着页面滚动,开始渐变展标题记及纯色吸顶样式 主要使用了小程序中的scroll-view组件,通过滚动时触发 bindscroll和滚动到顶部 bindscrolltoupper改变顶部栏的样式效果 目录微信小程序顶部栏图片随页面滚动渐变展示隐藏效果如图:代码如下:index.wxmlindex.jsindex.wxssindex.json 效果如图: 运用技术: 主要使用了小程序中的scroll-view组件,通过滚动时触发 bind

艾小逗 4831

【STK】手把手教你利用STK进行导弹和反导仿真02 - STK/MMT模块01 导弹任务分析工具概述

种工具:导弹设计工具(Missile Design Tool,MDT )、导弹飞行工具(Missile Flight Tool,截弹,或者用内置拦截弹编辑器创建的个性化的拦截弹, IFT 能够对 ―一对一 ‖动能拦截。导设置系统参数, 并对其有效性进行验证, 画性能图,保证该设计是可行的。(SAIC)公司联合开发研制,极大扩展了 STK 原有的导弹对象的功能,能够精确仿真。IFT 能够对拦截飞机、 导弹、卫星等目标进行仿真和分析。(2)推进系统参数,包括推力,比冲,秒流量,推力持续时间,喷嘴出口面积,

weixin_44184852的博客 1881

微信小程序导航条配置图片背景

文章目录微信小程序导航条配置图片背景全部页面替换就首页特殊,其他页面纯色导航条(沿用微信那套)相关代码如果你觉得写的不错或者帮到你了,记得给我点个赞哟~ 微信小程序导航条配置图片背景 需要实现通栏背景的效果(导航那里还有背景图片) 全部页面替换 如果自定义导航栏,会存在需要考虑的问题 如果有上一页,就返回上一页,否则直接返回首页(首页),图标也要跟着换 标题取配置里的(如果可以的话,否则就用组件传参,去掉配置里的,以免造成误解) 背景图片拼接(首页的时候) 就首页特殊,其他页面纯色导航条(

RealizeInnerSelf丶 7663

19、英国模式:银行体系的演变与现代金融架构

本文深入探讨了英国银行体系从专业化向全能银行的演变过程,分析了自律监管模式的优劣,并解析了围栏制度对金融稳定的影响。同时,文章还介绍了信用合作社、建筑协会和投资银行的角色与转型,全面展示了英国金融体系的多样性与复杂性,以及其在全球金融市场中的重要作用。

embedding5hiker的博客 105

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

小程序 页面移动到指定位置将导航栏固定(uniapp)

页面移动到指定位置,将导航栏固定

JunVei的博客 3547

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

微信小程序--》小程序全局配置和详解下拉刷新和上拉触底页面事件

全局配置-window相关设置讲解,详解下拉刷新和上拉触底两个事件。

ztK63LrD的博客 3453

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

微信小程序--实现横向导航滚动标题展示全部

微信小程序--实现横向导航滚动

weixin_50659023的博客 1799

小程序自定义导航栏实践:状态栏适配、返回逻辑与渐变效果实现

限制项默认导航栏自定义导航栏背景样式仅支持纯色支持渐变、图片、透明返回按钮系统固定样式可自定义图标和位置标题样式字体大小固定完全可控右侧按钮最多 2 个可自由扩展整体布局高度固定可以灵活适配如果产品设计稿中出现了渐变 / 毛玻璃 / 图片背景的标题栏、品牌定制化的返回按钮、多按钮组合的右侧操作区,或是需要适配异形屏、沉浸式页面布局等特殊场景,那么仅靠原生导航栏完全无法满足需求,此时就必须通过自定义导航栏的方案,从零搭建一套完全可控的导航结构,来匹配产品的设计与交互要求。

2301_81393148的博客 670

uni-app,小程序自定义导航栏实现与最佳实践

在移动应用开发中,自定义导航栏能够提供更灵活的样式和交互体验,满足跨平台统一、品牌定制、灵活交互和特殊布局等需求。实现自定义导航栏的基本步骤包括关闭原生导航栏、构建自定义导航栏组件、获取状态栏高度、设置样式以及适配内容区域。跨平台适配时需处理iOS与Android的差异,如状态栏高度和安全区域。常见导航栏效果包括透明导航栏、滚动渐变导航栏和自定义返回逻辑。解决内容被导航栏遮挡的问题,需动态计算导航栏高度并调整内容区域。通过这些实践,开发者可以创建符合应用设计语言且功能丰富的自定义导航栏。

qq_43557848的博客 3206

微信小程序 - 拖动页面产生移动动画

在 app.json 页面,为 "window" 对象的 "enablePullDownRefresh" 属性设置 属性值为 false。

Aan___的博客 861

小程序自定义导航栏后sticky吸顶失效问题

问题:在微信小程序页面使用了自定义导航栏,在导航栏下有一个吸顶的标题,由于iOS和安卓手机css样式兼容性问题,在使用定位的时候统一选择了position:sticky;定位,但是标题并没有吸顶而是在页面滚动的时候随着页面滚动上去。解决方法:在页面获取自定义导航栏的高度,给吸顶标题的元素设置top为自定义导航栏的高度。

sxy323的博客 1956

微信小程序开发实战:从零搭建一个航天主题导航页面

第一行用了一个组件,设置了标题、是否显示返回按钮、文字颜色和背景色。这里表示首页不显示返回箭头,符合“入口页”的定位。

2603_96917245的博客 108

php小程序 100行左右,微信小程序 左右分类滚动列表

今天需求个类似得到app分类的功能,效果如图:左右分别滚动,互不干扰,先把简单的布局和样式搭好。左侧分类右侧顶部分类右侧列表.flex_row{display: flex;flex-direction: row;}.nav_left{width: 25%;height:100vh;overflow-y:auto; }.nav_right{width: 75%;position: relative;...

weixin_33286064的博客 346

设计思维驱动:用自定义导航栏重构小程序用户体验

本文探讨了如何通过设计思维驱动,利用自定义导航栏重构微信小程序的用户体验。文章详细分析了自定义导航栏在品牌表达、交互创新和场景适配方面的优势,并提供了基于uniapp和uView的技术实现方案。通过电商、社交和内容平台的实际案例,展示了自定义导航栏如何提升用户转化率和停留时长,为开发者提供了实用的设计规范与协作流程建议。

stem5的博客 574
上一篇: 小程序携带参数返回历史页面解决办法
下一篇: javaScript金额保留两位有效数字的坑与解决方法
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值