位置: IT常识 - 正文

uniapp自定义导航渐显渐隐效果实现(uniapp自定义导航栏渐变)

编辑:rootadmin
uniapp自定义导航渐显渐隐效果实现 uniapp自定义导航渐显渐隐效果实现

推荐整理分享uniapp自定义导航渐显渐隐效果实现(uniapp自定义导航栏渐变),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp自定义导航栏闪屏问题,uniapp自定义导航条,uniapp自定义导航条,uniapp自定义导航栏custom,uniapp自定义导航组件,uniapp自定义导航条,uniapp自定义导航组件,uniapp自定义导航栏custom,内容如对您有帮助,希望把文章链接给更多的朋友!

前两天遇到一个客户的需求,需要在页面滚动时同步修改导航栏的背景透明度。但是原生的导航栏无法满足这样的需求。虽然 uview提供的组件已经能够满足大部分使用场景,包括左、中、右三块都能通过插槽自定义,但是背景仍然只能固定不变。因此,我们需要基于 uview的自定义导航栏组件进行二次封装来实现。

一、导入组件

导入组件

二、创建组件

在项目根目录中创建components文件夹,在此文件夹中创建的自定义组件不需要使用import导入,可以在代码中直接使用。具体文档请查看:easycom组件规范

uniapp自定义导航渐显渐隐效果实现(uniapp自定义导航栏渐变)

文件创建完成之后,使用uview的自定义组件Navbar 自定义导航栏 ,在我们常用色彩模式rgb中有四个参数:红®、绿(G)、蓝(B)三个颜色通道以及透明度,例如:

红色: rgb(255 0 0 / 100%)红色半透明: rgb(255 0 0 / 50%)红色全透明: rgb(255 0 0 / 0%)

由此我们发现,实现动态背景颜色透明我们只需要获取到页面当前滚动的位置即可,如果我们需要在页面距离顶部为0时透明,滚动到100px的位置时不透明,那么我们代码如下: template部分

<u-navbarfixedsafeAreaInsetTop:placeholder="placeholder":title="title":autoBack="showBack":leftIcon="showBack ? 'arrow-left': ''":border="false":bgColor="`rgb(255 255 255 / ${isScrollTop}%)`"></u-navbar>//由于uniapp中不支持v-bind="$attrs",继承组件未使用的属性,所以我们需要在这里自己把需要的参数全部传递一遍

此处需要注意的是uniapp不支持v-bind="$attrs",所以参数需要我们自己在这次封装中传递

javascript部分

export default {name: 'MyNavBar',data() {return {showBack: false}},props: {title: {type: String,default: ''},scrollTop: {type: Number,default: 100},placeholder: {type: Boolean,default: true},},computed: {isScrollTop() {return this.scrollTop > 100 ? 100 : this.scrollTop / 1}},created() {},mounted() {let pages = getCurrentPages();// 判断有没有上个页面if(pages.length >= 2){// 显示返回按钮this.showBack = true}},methods: {}}

在此处我们需要接收外部传递的参数,并且在组件内部实现了自定判断当前页面是否需要显示返回按钮,此处需要注意的是,onPageScroll只能在页面中使用,在组件中是无法触发的所以在使用这个组件的时候我们需要在页面上获取当前滚动的距离,传递给组件内部使用。

具体使用方法

<my-nav-bartitle="首页":scrollTop="scrollTop"/>//钩子函数,与onLoad平级,scrollTop 需要在data中先定义onPageScroll(e) {this.scrollTop = e.scrollTop;},

原生效果:

二次封装的效果

本文链接地址:https://www.jiuchutong.com/zhishi/298704.html 转载请保留说明!

上一篇:【Promise】一文带你了解promise并解决回调地狱(promise thenable)

下一篇:毕业设计-基于深度学习的图像去噪方法研究(毕业设计基于web难还是JAVA)

  • 网易云音乐私人fm不见了(网易云音乐私人漫游模式)

    网易云音乐私人fm不见了(网易云音乐私人漫游模式)

  • iPhone11如何设置辅助触控功能(iphone11如何设置主屏幕壁纸)

    iPhone11如何设置辅助触控功能(iphone11如何设置主屏幕壁纸)

  • iphone11会出5G吗(苹果11会有5g信号吗)

    iphone11会出5G吗(苹果11会有5g信号吗)

  • 手机上淘宝投诉怎么做(手机淘宝投诉在哪里去找)

    手机上淘宝投诉怎么做(手机淘宝投诉在哪里去找)

  • 网线和电线干扰严重吗(网线和电线干扰解决办法视频)

    网线和电线干扰严重吗(网线和电线干扰解决办法视频)

  • 荣耀30支持无线充电嘛(荣耀30支持无线耳机吗)

    荣耀30支持无线充电嘛(荣耀30支持无线耳机吗)

  • Word页眉线条宽度怎么设置(word页眉线条宽度)

    Word页眉线条宽度怎么设置(word页眉线条宽度)

  • oppoa11电池多少毫安(oppoa11电池多少钱)

    oppoa11电池多少毫安(oppoa11电池多少钱)

  • qq音乐sq和hq有区别吗(qq音乐的sq和hq)

    qq音乐sq和hq有区别吗(qq音乐的sq和hq)

  • safari下载的软件安装不下来(safari下载的软件无法删除)

    safari下载的软件安装不下来(safari下载的软件无法删除)

  • 主板可以插几个内存条(主板可以插几个固态硬盘)

    主板可以插几个内存条(主板可以插几个固态硬盘)

  • ipad微信没有注册按钮(ipad微信注册不了怎么回事)

    ipad微信没有注册按钮(ipad微信注册不了怎么回事)

  • 一般把软件分为哪两大类(软件通常被分成)

    一般把软件分为哪两大类(软件通常被分成)

  • 科学上网方法(如何“科学”上网)

    科学上网方法(如何“科学”上网)

  • 苹果美版和国行有什么区别在哪里(苹果美版和国行哪个值得买)

    苹果美版和国行有什么区别在哪里(苹果美版和国行哪个值得买)

  • 苹果6s屏幕尺寸大小(苹果6s屏幕尺寸多少)

    苹果6s屏幕尺寸大小(苹果6s屏幕尺寸多少)

  • 小米cc9支持多少w快充(小米cc9支持多少g内存卡)

    小米cc9支持多少w快充(小米cc9支持多少g内存卡)

  • 菜鸟裹裹关联是双方能看到吗(菜鸟裹裹关联是相互的吗)

    菜鸟裹裹关联是双方能看到吗(菜鸟裹裹关联是相互的吗)

  • 微信被ipad登录了怎么解除(微信ipad登录手机会显示吗)

    微信被ipad登录了怎么解除(微信ipad登录手机会显示吗)

  • 数据通信系统的三要素(数据通信系统的工作过程)

    数据通信系统的三要素(数据通信系统的工作过程)

  • 拼多多怎么把推荐关了(拼多多怎么把推荐里的东西格式化)

    拼多多怎么把推荐关了(拼多多怎么把推荐里的东西格式化)

  • 强国积分有什么用(强国积分什么时候可以兑奖)

    强国积分有什么用(强国积分什么时候可以兑奖)

  • mee7s是小米什么型号(mee7s是小米几)

    mee7s是小米什么型号(mee7s是小米几)

  • 如何在Excel中使用组合框控件(在excel中如何用)

    如何在Excel中使用组合框控件(在excel中如何用)

  • airpods进水了怎么办(airpods进水了怎么保修)

    airpods进水了怎么办(airpods进水了怎么保修)

  • 手机听筒音量小怎么办(手机听筒音量小怎么解决)

    手机听筒音量小怎么办(手机听筒音量小怎么解决)

  • python中Sample函数是什么?(python中sample函数怎么用)

    python中Sample函数是什么?(python中sample函数怎么用)

  • 文化事业建设费征收对象
  • 小规模超过30万计算
  • 企业所得税如何做分录
  • 附加税计提会计科目
  • 印花税资本金项目如何缴纳
  • 关税及贸易总协定成立时间
  • 计提企业所得税分录
  • 太阳能发电开票编码
  • 个税年度汇算清缴截止时间
  • 自然人独资公司有章程吗
  • 建筑行业分包款要分项目扣除吗
  • 个税申报赡养老人可以填公婆吗
  • 通讯费没有公司抬头怎么报销
  • 收到投资款需要缴纳增值税吗
  • 付款给对方未开具发票
  • 企业所得税预缴计算方法
  • 企业赠送礼品是否涉税
  • 银行卡撤销账户
  • 合同中止发票已入账怎么处理?
  • 劳动合同的主要条款
  • 招投标增值税
  • 图书出版费开票怎么开
  • 城市生活垃圾处理费应该交吗
  • 工程备用金金额怎么算
  • 季度缴纳所得税如何做账
  • 收到个人缴纳的办证费
  • 商业承兑汇票是谁签发的
  • 如何禁用Windows10更新
  • 企业党建活动经费管理办法的规定
  • win7如何调出浏览器
  • win10设置待机时间长怎么在哪里设置
  • php响应时间
  • 高新企业研发费用占比规定
  • 不符合win11硬件要求安装会怎么样
  • windows7如何制表
  • 华为路由器怎么设置wifi密码
  • 企业财务会计
  • 预付货款账务处理会计分录
  • 农产品来料加工设备
  • php -r
  • cv计算机视觉定义
  • 海外佣金需要交税吗
  • 床垫可以开专票抵扣吗
  • 怎么开电子专用增值税发票
  • mongodb4.4安装
  • 一般纳税人增值税税率
  • 行政性收费属于什么科目
  • 汇算清缴的费用标准 中汇
  • 合并成本和初始的区别
  • 应付账款的主要成本包括
  • 政府预算会计的会计科目
  • 承包经营的承包人工资能税前扣除吗
  • 结转增值税的账务处理
  • 低于注册资本转股怎么办
  • 费用报销票据可以跨年吗
  • 增值税普通发票有什么用
  • 长期股权投资的成本法和权益法区别
  • 取得无形资产时增值税进项税额的处理
  • 电子发票是否是原件发票
  • 总账的建立
  • mysql -ne
  • sqlserver (parse name)字符串截取的方法
  • 深度解析天梁坐命
  • mysql免安装版怎么启动
  • linux服务端
  • mac怎样解压缩
  • ubuntu15.04安装教程
  • 进程crash是什么意思
  • win7声音方案存在哪里
  • win7系统关机很慢什么原因
  • window10玩dnf怎么设置流畅
  • window7系统清理
  • win10系统怎么cmd
  • android4.4w
  • 几个常用的微课网站
  • js折叠展开特效
  • 在Unity中使用事件/委托机制(event/delegate)进行GameObject之间的通信
  • jquery获取url地址
  • 个人自行申报纳税
  • 根据消费税暂行条例的规定,纳税人自产自用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设