最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序滑動控制自定義標題顯示和隱藏效果

 更新時間:2026年03月02日 09:07:50   作者:Greg_Zhong  
文章介紹了如何在小程序中實現(xiàn)首頁標題的顯示與隱藏功能,通過配置JSON、HTML和JS代碼,并利用小程序框架的滾動監(jiān)聽方法onPageScroll來實現(xiàn)滾動過程中標題的動態(tài)顯示和隱藏效果,感興趣的朋友跟隨小編一起看看吧

需求:別人首頁有的,我們也要!
初始化隱藏標題、下滑 100rpx 顯示、上滑回頂部隱藏

1.設(shè)置不使用系統(tǒng)標題,json配置…

2.首頁html配置

3.首頁js配置

onPageScroll:是小程序框架【內(nèi)置的滾動監(jiān)聽方法】,框架會自動監(jiān)聽頁面滾動并觸發(fā)該方法;
執(zhí)行特點:滾動過程中高頻觸發(fā),入?yún)瑵L動距離 scrollTop;

4.wxml樣式配置,見下面完整代碼…

完整代碼

<!-- 自定義【顯隱】標題:白色背景占滿整行 -->
<view class="custom-nav-bar" style="opacity: {{navOpacity}};">
  <view class="nav-title-wrap" style="top: {{menuCenterY}}rpx;">
    <text class="nav-title">首頁</text>
  </view>
</view>
<!-- 主要內(nèi)容 -->
<view class="page-content">
	<!-- 你原有的首頁內(nèi)容... -->
</view>

JS

// ========== 【新增屬性】標題欄核心數(shù)據(jù) ==========
		navOpacity: 0, // 導航欄透明度(控制顯隱)
		scrollThreshold: 100, // 下滑100rpx觸發(fā)顯示
		menuCenterX: 0, // 膠囊中心X坐標(rpx)
		menuCenterY: 0, // 膠囊中心Y坐標(rpx)
    //=================【onload方法執(zhí)行...】
		// 第一步:優(yōu)先計算膠囊中心坐標
		this.calcMenuCenter();
		// 第二步:初始化標題隱藏
		this.setData({
			titleOpacity: 0,
			titleHeight: 0
		})
		//======================【核心2個方法】========
	// 核心:計算膠囊的水平+垂直中心坐標(rpx)
	calcMenuCenter() {
		// 1. 獲取系統(tǒng)信息和膠囊原始坐標(px)
		const systemInfo = wx.getSystemInfoSync();
		const menu = wx.getMenuButtonBoundingClientRect();
		const px2rpx = 750 / systemInfo.screenWidth; // px轉(zhuǎn)rpx比例
		// 2. 計算膠囊中心坐標(px → rpx)
		// 水平中心:膠囊左坐標 + 膠囊寬度/2
		const menuCenterX_px = menu.left + menu.width / 2;
		// 垂直中心:膠囊上坐標 + 膠囊高度/2
		const menuCenterY_px = menu.top + menu.height / 2;
		// 3. 轉(zhuǎn)換為rpx并賦值(標題將基于此坐標居中)
		this.setData({
			menuCenterX: menuCenterX_px * px2rpx,
			menuCenterY: menuCenterY_px * px2rpx
		});
		// 調(diào)試日志(可刪除,用于驗證坐標)
		console.log('膠囊中心坐標(rpx):', {
			x: this.data.menuCenterX,
			y: this.data.menuCenterY
		});
	},
	// 滾動監(jiān)聽:僅控制導航欄透明度(高度固定,不影響對齊)
	onPageScroll(e) {
		const systemInfo = wx.getSystemInfoSync();
		const px2rpx = 750 / systemInfo.screenWidth;
		// 滾動距離(rpx),容錯:最小為0
		const scrollTopRpx = Math.max(e.scrollTop * px2rpx, 0);
		// 計算透明度:0→1(下滑≥100rpx則完全顯示)
		let navOpacity = 0;
		if (scrollTopRpx >= this.data.scrollThreshold) {
			navOpacity = 1;
		} else if (scrollTopRpx > 0) {
			navOpacity = scrollTopRpx / this.data.scrollThreshold;
		}
		// 僅更新透明度,對齊坐標不變
		this.setData({
			navOpacity
		});
	},

WXML

/* ========== 【新增】標題欄核心樣式 ========== */
page {
  margin: 0;
  padding: 0;
  background-color: #f5f5f5;
  padding-top: 88rpx; /* 預留導航欄高度 */
}
/* 導航欄容器:固定頂部,高度覆蓋膠囊區(qū)域 */
.custom-nav-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 88rpx; /* 微信默認導航欄高度 */
  background-color: #fff; /* 導航欄背景占滿整行(關(guān)鍵) */
  box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.05);
  z-index: 999;
  transition: opacity 0.3s ease;
}
/* 標題容器:占滿導航欄寬度,垂直對齊膠囊 */
.nav-title-wrap {
  position: absolute;
  left: 0;
  width: 100%; /* 占滿整行寬度 */
  height: 100%; /* 占滿導航欄高度 */
  transform: translateY(-50%); /* 垂直對齊膠囊 */
  background-color: #fff; /* 白色背景占滿整行 */
}
/* 標題文字:水平居中 + 垂直居中 */
.nav-title {
  display: block;
  text-align: center; /* 水平居中 */
  line-height: 88rpx; /* 垂直居中(和導航欄高度一致) */
  font-size: 32rpx;
  font-weight: 600;
  color: #333;
}
/* 可選:測試內(nèi)容樣式 */
.page-content {
  /* padding: 0 30rpx; */
}
.item {
  height: 100rpx;
  line-height: 100rpx;
  border-bottom: 1rpx solid #eee;
  margin-bottom: 10rpx;
  font-size: 28rpx;
}

到此這篇關(guān)于微信小程序滑動控制自定義標題顯示和隱藏效果的文章就介紹到這了,更多相關(guān)小程序滑動控制自定義標題顯隱操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 前端安全之DOMPurify基礎(chǔ)安裝與用法

    前端安全之DOMPurify基礎(chǔ)安裝與用法

    這篇文章主要介紹了前端安全之DOMPurify基礎(chǔ)安裝與用法的相關(guān)資料,DOMPurify是防御XSS攻擊的HTML凈化庫,支持npm/yarn安裝及CDN引入,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-06-06
  • 微信小程序?qū)崿F(xiàn)錄音

    微信小程序?qū)崿F(xiàn)錄音

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)錄音,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • javascript常用經(jīng)典算法詳解

    javascript常用經(jīng)典算法詳解

    本文主要介紹了javascript七種常見算法:冒泡排序;插入排序;希爾排序;歸并排序;快速排序;選擇排序;奇偶排序。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 詳解用async/await來處理異步

    詳解用async/await來處理異步

    這篇文章主要介紹了詳解用async/await來處理異步,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 微信小程序?qū)崿F(xiàn)評價功能

    微信小程序?qū)崿F(xiàn)評價功能

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)評價功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 微信小程序開發(fā)指南之圖片壓縮解決方案

    微信小程序開發(fā)指南之圖片壓縮解決方案

    在項目開發(fā)過程中遇到一個需要從小程序上傳圖片的需求,此需求實現(xiàn)起來并不難,下面這篇文章主要給大家介紹了關(guān)于微信小程序開發(fā)指南之圖片壓縮解決方案的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • js判斷文件格式及大小的簡單實例(必看)

    js判斷文件格式及大小的簡單實例(必看)

    下面小編就為大家?guī)硪黄猨s判斷文件格式及大小的簡單實例(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • js style動態(tài)設(shè)置table高度

    js style動態(tài)設(shè)置table高度

    設(shè)置table高度想必大家都會,直接在table標簽中設(shè)置下不就行了嗎?這是靜態(tài)的,如果要動態(tài)設(shè)置你會嗎?下面的實例將教會大家
    2014-10-10
  • JavaScript 語句之常用 for 循環(huán)詳解

    JavaScript 語句之常用 for 循環(huán)詳解

    這篇文章主要介紹了JavaScript 語句之常用 for 循環(huán),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • js判斷當前頁面用什么瀏覽器打開的方法

    js判斷當前頁面用什么瀏覽器打開的方法

    這篇文章主要介紹了js判斷當前頁面用什么瀏覽器打開的方法,需要的朋友可以參考下
    2016-01-01

最新評論

安国市| 巴南区| 玛纳斯县| 镇江市| 北海市| 铜山县| 澎湖县| 娱乐| 沁源县| 娱乐| 东台市| 大足县| 民勤县| 中牟县| 读书| 西丰县| 皮山县| 南昌市| 泰安市| 县级市| 长泰县| 长泰县| 石渠县| 施秉县| 丽江市| 子洲县| 康平县| 和林格尔县| 湄潭县| 威信县| 江都市| 新巴尔虎左旗| 姜堰市| 张家港市| 安徽省| 永善县| 鄂伦春自治旗| 法库县| 汝城县| 金堂县| 巴马|