一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - 微信小程序自定義膠囊樣式

微信小程序自定義膠囊樣式

2021-12-21 17:56四曦 js教程

這篇文章主要為大家詳細介紹了微信小程序自定義膠囊樣式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了微信小程序自定義左上角膠囊樣式的具體代碼,供大家參考,具體內容如下

1、 將app.js 中的 window 對象屬性navigationstyle 改為自定義

?
1
2
3
"window": {
 "navigationstyle": "custom"
 },

改完之后的效果:

微信小程序自定義膠囊樣式

2、獲取 右上角膠囊的定位信息 設置

微信小程序自定義膠囊樣式

調用 wx.getmenubuttonboundingclientrect() 函數得到右上角膠囊定位信息

微信小程序自定義膠囊樣式
微信小程序自定義膠囊樣式

所需要的 屬性有 : top,height屬性,用于計算自定義左上角膠囊定位的位置

拿到 右上角膠囊的 top和height 相加得到 屏幕導航欄的固定高度:

微信小程序自定義膠囊樣式

在 data函數中聲明一個導航欄高度屬性,和一個 膠囊具體定位的top屬性:

賦值導航欄的高度 數據:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// pages/testq/index.js
page({
 
 /**
 * 頁面的初始數據
 */
 data: {
 navheight:0,
 capsuletop: 0
 
 },
 
 /**
 * 生命周期函數--監聽頁面加載
 */
 onload: function (options) {
 
 },
 
 /**
 * 生命周期函數--監聽頁面初次渲染完成
 */
 onready: function () {
 
 },
 
 /**
 * 生命周期函數--監聽頁面顯示
 */
 onshow: function () {
 let dwobj = wx.getmenubuttonboundingclientrect()
 let navheight_ = (dwobj.top + dwobj.height)
 let capsuletop_ = dwobj.top
 this.setdata(
 {
 navheight: navheight_,
 capsuletop:capsuletop_
 
 }
 )
 },
 
 /**
 * 生命周期函數--監聽頁面隱藏
 */
 onhide: function () {
 
 },
 
 /**
 * 生命周期函數--監聽頁面卸載
 */
 onunload: function () {
 
 },
 
 /**
 * 頁面相關事件處理函數--監聽用戶下拉動作
 */
 onpulldownrefresh: function () {
 
 },
 
 /**
 * 頁面上拉觸底事件的處理函數
 */
 onreachbottom: function () {
 
 },
 
 /**
 * 用戶點擊右上角分享
 */
 onshareappmessage: function () {
 
 }
})

在 wxml 中定義 導航欄:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!--pages/testq/index.wxml-->
 
<!-- 左上角膠囊開始-->
<!--left-capsule 是最上層,可以設置背景-->
<view class="left-capsule">
 <!--left-capsule-nav 是用于定位左上角的位置-->
 <view class="left-capsule-nav" style="height:{{navheight}}px;">
 <!--left-capsule-nav-content 是 膠囊主要內容-->
 <view style="position:relative;top:{{capsuletop}}px;" class="left-capsule-nav-content">
 <!--back 膠囊 返回按鈕-->
 <view class="back">
 <!-- 我這個圖標引入的是 vant庫的icon,如果不是使用vant的話 得自定義一個icon-->
 <van-icon name="arrow-left" color="white" size="20"/>
 </view>
 <!-- line 膠囊 中間線條-->
 <view class="line"></view>
 <!-- home 膠囊 返回首頁按鈕-->
 <view class="home">
 <!-- 我這個圖標引入的是 vant庫的icon,如果不是使用vant的話 得自定義一個icon-->
 <van-icon name="wap-home-o" color="white" size="20"/>
 </view>
 </view>
 </view>
 <!-- 以上 可以 封裝成自定義組件,在引入,這個地方是 膠囊外的內容-->
 <view class="main-content" style="top:{{navheight}}px;">
 我是測試左上角膠囊
</view>
<!-- 左上角膠囊結束-->
</view>

wxss內容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/* 導航欄css開始*/
.left-capsule{
 width: 100vh;
 height: 100vh;
 background-color: black;
}
.left-capsule .left-capsule-nav{
 width: 100%;
 position: fixed;
 z-index: 2;
}
.left-capsule-nav .left-capsule-nav-content{
 width: 85px;
 text-align: center;
 border-radius: 50px;
 position: relative;
 top: 26px;
 left: 20px;
 box-shadow:0px 0px 1px 0.2px white;
 background-color: #1d19195c;
 height: 30px;
}
.left-capsule-nav-content view{
 display: inline;
 width: 35px;
 position: relative;
}
.left-capsule-nav-content .back{
 top: 4px;left: -5px;
}
.left-capsule-nav-content .line{
 top: 3px;
 width: 1px;
 border-left: solid #cac3c3 thin;
 height: 17px;
 display: inline-block;
}
.left-capsule-nav-content .home{
 top: 4px;
}
/* 導航欄css結束*/
/* 內容*/
.main-content{
 background-color: red;
 position: absolute;
 width: 100%;
 z-index: 1;
 
}

效果圖:

微信小程序自定義膠囊樣式

如果覺得紅色地方太挨得進的話 top 在加大一點

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/qq_40739917/article/details/111663638

延伸 · 閱讀

精彩推薦
  • js教程ES5和ES6中類的區別總結

    ES5和ES6中類的區別總結

    這篇文章主要給大家介紹了ES5和ES6中類的區別的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋...

    Totora612082021-12-16
  • js教程微信小程序自定義支持圖片的彈窗

    微信小程序自定義支持圖片的彈窗

    這篇文章主要為大家詳細介紹了微信小程序自定義支持圖片的彈窗,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    歲末Zzz8082021-12-15
  • js教程JS 的 六種打斷點的方式,你用過幾種?

    JS 的 六種打斷點的方式,你用過幾種?

    Debugger 是前端開發很重要的一個工具,它可以在我們關心的代碼處斷住,通過單步運行來理清邏輯。而 Debugger 用的好壞與斷點打得好壞有直接的關系。...

    神光的編程秘籍7772021-12-16
  • js教程微信小程序自定義膠囊樣式

    微信小程序自定義膠囊樣式

    這篇文章主要為大家詳細介紹了微信小程序自定義膠囊樣式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    四曦11272021-12-21
  • js教程JavaScript實現瀑布流布局的3種方式

    JavaScript實現瀑布流布局的3種方式

    這篇文章主要為大家詳細介紹了JavaScript實現瀑布流布局的3種方式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    杏子_10247232021-12-20
  • js教程js+for循環實現字符串自動轉義的代碼(把后面的字符替換前面的字符)

    js+for循環實現字符串自動轉義的代碼(把后面的字符替換前面的字

    這段代碼是從網上看到的一段不錯的代碼,用for命令實現字符串的轉移,而且使用的是for循環直接將后面的字符替換成前面的字符,這個邏輯以前沒試過...

    js教程網3962021-12-18
  • js教程微信小程序學習之自定義滾動彈窗

    微信小程序學習之自定義滾動彈窗

    這篇文章主要給大家介紹了關于微信小程序學習之自定義滾動彈窗的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考...

    юноша9012021-12-15
  • js教程Jquery+javascript實現支付網頁數字鍵盤

    Jquery+javascript實現支付網頁數字鍵盤

    這篇文章主要為大家詳細介紹了Jquery+javascript實現支付網頁數字鍵盤,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    юноша 25662021-12-15
主站蜘蛛池模板: gay 男同志被捆绑茎 | 91亚洲精品丁香在线观看 | 91天堂国产在线 在线播放 | 国产在线视频自拍 | 国产第一草草影院 | 91国语精品自产拍在线观看一 | 成人高辣h视频一区二区在线观看 | 精品国产线拍大陆久久尤物 | 国产成人精品一区二三区 | 韩国日本香港毛片免费 | 国产女乱淫真高清免费视频 | 欧美高清在线 | 精品手机在线1卡二卡3卡四卡 | 好逼天天有 | 奶大逼紧 | 厨房play黄瓜进去小说h | 校花在公车上被内射好舒 | 亚洲国产精品牛在线 | 1769亚洲欧美资源站 | 精品久久久久中文字幕日本 | 国产成人99久久亚洲综合精品 | 激情综合站 | 公交车强校花系列小说 | 精品久久久久久久久久香蕉 | 青青草在视线频久久 | 亚洲精品国产专区91在线 | 91久久青青青国产免费 | 污斗罗大陆 | 青青青在线免费 | 成人高辣h视频一区二区在线观看 | 日本三级欧美三级人妇英文 | japonensis日本护士| 婷婷色网 | 古代翁熄系小说辣文 | 红杏网| 精品国产区 | 国产精品视频在这里有精品 | 91制片| 波多 在线播放 | 国产精品每日在线观看男人的天堂 | 我的妹妹最近有点怪在线观看 |