微信小程序自定义顶部导航,滚动页面顶部导航颜色渐变

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

微信小程序自定义顶部导航栏,使背景图置顶;当向上滚动页面时,实现顶部导航颜色渐变


效果图

微信小程序自定义顶部导航,滚动页面顶部导航颜色渐变
微信小程序自定义顶部导航,滚动页面顶部导航颜色渐变
微信小程序自定义顶部导航,滚动页面顶部导航颜色渐变

实现方法

一、在pages.json中设置"navigationStyle": “custom”

代码如下(示例):文章来源地址https://www.toymoban.com/news/detail-507314.html

"path": "pages/home/home",
"style": {
	"navigationBarTitleText": "XX网络科技",
	"navigationBarBackgroundColor": "#309AEC",
	"navigationBarTextStyle": "white",
	"enablePullDownRefresh": false,
	"backgroundColor": "#ffffff",
	"navigationStyle": "custom"
	}						

二、在页面中配置

提示:由于不同的手机机型顶部导航高度不一样,所有要获取手机的信息

实现方法

总共三步:
1、初始化获取顶部导航信息
2、顶部导航文字上方通过view占位,同时设置顶部导航字体高和行高与胶囊保持一致,实现顶部导航文字在不同机型居中对齐
3、监听滚动事件,不滚动时不加颜色,滚动时给顶部加动态样式

代码如下(示例):

<template>
	<view class="Box">
		<!-- 设置背景图片及自适应高度 -->
		<view class="contain-box" :style="[{backgroundImage:'url('+backgroundImg+')'}, 'height:'+s_topImg+'rpx']" v-for="(item,index) in swipers" :key="index">
			<!-- 滚动动态设置样式 -->
			<view :class="scrollTopShow?'top-item1':'top-item2'":style="'background:rgba(48, 154, 236,' +topOpacity+')'">
				<!-- 胶囊以上占位盒子 -->
				<view :style="'height:'+s_top+'rpx', 'line-height:'+s_top+'rpx'"></view>
				<!-- 动态设置高和行高与胶囊保持一致 -->
				<view class="title-type" :style="['height:'+s_height+'rpx','line-height:'+s_height+'rpx']">
					XX网络科技
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				backgroundImg: '', // 顶部背景图
				s_top: '', //胶囊距离顶部距离
				s_height: '', //胶囊行高	
				s_topImg: '',
				scrollTopShow: true, // 顶部颜色默认隐藏
				topOpacity: 0,
			}
		}created() {
			this.initTopImg();
		},
		// 监听滚动事件
		onPageScroll(e) { //nvue暂不支持滚动监听,可用bindingx代替
				let scrollTop = e.scrollTop;
				this.topOpacity = scrollTop / 300 > 0.9 ? 1 : scrollTop / 300
				if (e.scrollTop != 0) {
					this.scrollTopShow = false;
				} else {
					this.scrollTopShow = true;
				}
			},	
		methods: {
			// 初始化顶部背景图
			initTopImg() {
				let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
				this.s_top = menuButtonInfo.top * 2;
				this.s_topImg = menuButtonInfo.top * 2 + 508;
				this.s_height = menuButtonInfo.height * 2;
			},
			
		}
	}
</script>
<style lang="scss" scoped>
	.contain-box {
		width: 100%;
		background-size: 100% 100%;
		align-items: center;

		.top-item1 {
			.title-type {
				font-size: 36rpx;
				font-weight: 400;
				color: #fff;
				display: flex;
				justify-content: center;
				/* 水平居中 */
			}
		}

		.top-item2 {
			position: fixed;
			top: 0;
			width: 100%;

			.title-type {
				font-size: 36rpx;
				font-weight: 400;
				color: #fff;
				display: flex;
				justify-content: center;
				/* 水平居中 */
			}
		}
	}
</style>

到了这里,关于微信小程序自定义顶部导航,滚动页面顶部导航颜色渐变的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 微信小程序自定义顶部导航,附加返回主页按钮

      目录 一、修改对应json文件 二、获取微信小程序原生顶部导航栏的高  三、获取胶囊的宽高 四、设置wxml页面样式  话不多说,先上效果!!!       首先,我们都知道,通过原生小程序是不具备左侧胶囊的效果的,所以在实现这个功能的时候一定要记得修改当前页的jso

    2024年02月04日
    浏览(34)
  • 微信小程序云开发之自定义顶部导航栏搜索框(非组件)

    提到微信小程序,就不得不提到它那磨人的顶部导航栏,真的有被丑到。身为强迫症患者,笔者实在是难以忍受,好在官方提供了解决方案,但是对于初学者还是有一丢丢的难度,为了初学者不在重蹈笔者的老路,这篇文章就给大家分享一下如何做一个好看的自定义顶部导航

    2024年02月10日
    浏览(32)
  • uni-app微信小程序,APP都适用自定义顶部导航

    *使用自定义的导航样式,首先需要把原生的顶部的导航方式给隐藏掉(\\\"navigationStyle\\\": \\\"custom\\\") *手机顶部手机状态栏的高度 *微信小程序中胶囊的位置信息存储(使用store存储) *由于微信小程序中带有导航胶囊,所以需要根据胶囊去获取一定的参数信息 在微信小程序中,我们只需要获

    2024年02月06日
    浏览(35)
  • 微信小程序第一节 —— 自定义顶部、底部导航栏以及获取胶囊体位置信息。

    dai ga hou啊!我是 😘😘😘 是江迪呀 。我们在进行微信小程序开发时,常常需要自定义一些东西,比如 自定义顶部导航 、 自定义底部导航 等等。那么知道这些自定义内容的具体位置、以及如何适配不同的机型就变得尤为重要。下面让我以在iPhone机型,来给大家介绍下 微信

    2024年02月02日
    浏览(39)
  • 微信小程序自定义顶部导航栏的胶囊和微信自带的胶囊一样的透明背景色

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

    2024年02月01日
    浏览(29)
  • 微信原生小程序自定义顶部导航

    都2023了,自定义顶部导航应该不是什么新鲜事了,这里只是简单记录下 微信自己也提供了自定义顶部导航 navigation-bar ,大概看了下,可配置的也不少,所以看需求了,如果简单可以采用微信提供的,老规矩,先看效果 状态栏高度(getSystemInfoSync),就是手机顶部网络那块的

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

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

    2024年02月15日
    浏览(22)
  • 微信小程序自动获取顶部导航栏高度

    1、本人是通过uniapp开发的微信小程序,原生开发基本相同,首先在data里声明变量 2、其次在onLoad生命周期中获取当前手机的导航栏宽高数据 3、navHeight获取的是当前手机型号的导航栏总高度;searchMarginTop获取的是手机顶部到小程序胶囊的高度,也就是下图黄色线框的高度;

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

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

    2024年02月16日
    浏览(34)
  • H5+微信小程序中顶部导航设置:app-plus

    首先uniapp代码在微信小程序和App、H5之间有时候是不兼容的,例如正常通过app-plus设置顶部导航,H5端是合适的 目的效果展示的结果:如图所示,我们需要实现这样的效果 顶部没有出现搜索的图标和消息的图标 https://uniapp.dcloud.net.cn/collocation/pages.html#app-titlenview-searchinput 如图我

    2024年02月08日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包