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

微信小程序自定義波浪組件使用方法詳解

 更新時(shí)間:2019年09月21日 09:04:11   作者:iwh_冬  
這篇文章主要為大家詳細(xì)介紹了微信小程序自定義波浪組件的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近看到好多app上有波浪背景,有動(dòng)態(tài)的,有靜態(tài)的,這里是在小程序中用得動(dòng)態(tài)。

先看看效果圖:里面的文本是組件內(nèi)部定義的。

這是用兩個(gè)svg的圖片用css關(guān)鍵幀動(dòng)畫做的效果(這里謝謝子彈短信里前端群的小伙伴提供的web版的css動(dòng)畫文件)

在小程序中使用,注意一個(gè)問題:就是svg不可以直接使用,需要轉(zhuǎn)為base64(這個(gè)大家應(yīng)該有收藏吧),這里我已經(jīng)轉(zhuǎn)換好了,在下面的wxss中。

這里順便用一下自定義組件:

首先定義組件 wave

 wave.wxml:這里我默認(rèn)是用得顯示個(gè)人信息。其中isShowInfo來控制是否顯示

<!--utils/wave/waves.wxml-->
<view class="zr">
  <view class='user_box' hidden="{{isShowInfo}}">
    <view class='userInfo'>
      <open-data type="userAvatarUrl"></open-data>
    </view>
  <view class='userInfo_name'>
    <open-data type="userNickName"></open-data>,歡迎您
  </view>
</view>
  <view class="water">
    <view class="water-c">
      <view class="water-1"> </view>
      <view class="water-2"> </view>
    </view>
  </view>
</view>

wave.js:這里組件定義一個(gè)私有方法 __hideInfo(),用來隱藏內(nèi)部組件,靈活運(yùn)用很方便。

// utils/wave/waves.js
Component({
/**
* 組件的屬性列表
*/
properties: {
},
 
/**
* 組件的初始數(shù)據(jù)
*/
data: {
isShowInfo:false
},
 
/**
* 組件的方法列表
*/
methods: {
__hideInfo:function(){
this.setData({
isShowInfo:true
})
}
},
 
})

wave.json:第一個(gè)是設(shè)置為自定義組件,第二個(gè)可選是使用其他的自定義組件,比如引用組件,一會(huì)就會(huì)用得

{
"component": true,
"usingComponents": {}
}

wave.wxss:zr的背景直接改為自己需要的,或者用屬性傳遞。

/*組件背景顏色*/
.zr {
 
background: #0396FF;
width: 100%;
height:100px; position: relative;
}
 
.water {
position: absolute;
left: 0;
bottom: -10px;
height: 30px;
width: 100%;
z-index: 1
}
 
.water-c {
position: relative
}
 
.water-1 {
background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjYwMHB4IiBoZWlnaHQ9IjYwcHgiIHZpZXdCb3g9IjAgMCA2MDAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjQgKDE1NTc1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT53YXRlci0xPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IuaIkSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc2tldGNoOnR5cGU9Ik1TUGFnZSI+CiAgICAgICAgPGcgaWQ9Ii0iIHNrZXRjaDp0eXBlPSJNU0FydGJvYXJkR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMjEuMDAwMDAwLCAtMTMzLjAwMDAwMCkiIGZpbGwtb3BhY2l0eT0iMC4zIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgPGcgaWQ9IndhdGVyLTEiIHNrZXRjaDp0eXBlPSJNU0xheWVyR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMS4wMDAwMDAsIDEzMy4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLDcuNjk4NTczOTUgTDQuNjcwNzE5NjJlLTE1LDYwIEw2MDAsNjAgTDYwMCw3LjM1MjMwNDYxIEM2MDAsNy4zNTIzMDQ2MSA0MzIuNzIxMDUyLDI0LjEwNjUxMzggMjkwLjQ4NDA0LDcuMzU2NzQxODcgQzE0OC4yNDcwMjcsLTkuMzkzMDMwMDggMCw3LjY5ODU3Mzk1IDAsNy42OTg1NzM5NSBaIiBpZD0iUGF0aC0xIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==") repeat-x;
background-size: 600px;
-webkit-animation: wave-animation-1 3.5s infinite linear;
animation: wave-animation-1 3.5s infinite linear
}
 
.water-2 {
top: 5px;
background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjYwMHB4IiBoZWlnaHQ9IjYwcHgiIHZpZXdCb3g9IjAgMCA2MDAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjQgKDE1NTc1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT53YXRlci0yPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IuaIkSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc2tldGNoOnR5cGU9Ik1TUGFnZSI+CiAgICAgICAgPGcgaWQ9Ii0iIHNrZXRjaDp0eXBlPSJNU0FydGJvYXJkR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMjEuMDAwMDAwLCAtMjQ2LjAwMDAwMCkiIGZpbGw9IiNGRkZGRkYiPgogICAgICAgICAgICA8ZyBpZD0id2F0ZXItMiIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIxLjAwMDAwMCwgMjQ2LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTAsNy42OTg1NzM5NSBMNC42NzA3MTk2MmUtMTUsNjAgTDYwMCw2MCBMNjAwLDcuMzUyMzA0NjEgQzYwMCw3LjM1MjMwNDYxIDQzMi43MjEwNTIsMjQuMTA2NTEzOCAyOTAuNDg0MDQsNy4zNTY3NDE4NyBDMTQ4LjI0NzAyNywtOS4zOTMwMzAwOCAwLDcuNjk4NTczOTUgMCw3LjY5ODU3Mzk1IFoiIGlkPSJQYXRoLTIiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMC4wMDAwMDAsIDMwLjAwMDAwMCkgc2NhbGUoLTEsIDEpIHRyYW5zbGF0ZSgtMzAwLjAwMDAwMCwgLTMwLjAwMDAwMCkgIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==") repeat-x;
background-size: 600px;
-webkit-animation: wave-animation-2 6s infinite linear;
animation: wave-animation-2 6s infinite linear
}
 
.water-1,
.water-2 {
position: absolute;
width: 100%;
height: 60px
}
 
.back-white {
background: #fff
}
 
@keyframes wave-animation-1 {
0% {
background-position: 0 top
}
100% {
background-position: 600px top
}
}
 
@keyframes wave-animation-2 {
0% {
background-position: 0 top
}
100% {
background-position: 600px top
}
}
.user_box {
display: flex;
z-index: 10000!important;
}
 
.userInfo_name {
flex: 1;
vertical-align: middle;
width: 100%;
margin-left: 5%;
margin-top: 5%;
}
 
.userInfo {
flex: 1;
width: 100%;
border-radius: 50%;
overflow: hidden;
max-height: 50px;
max-width: 50px;
margin-left: 5%;
margin-top: 5%;
border: 2px solid #fff;
}

組件定義完,下面是引用這個(gè)組件:

index.json:這里用到了userxxx使用我們定義的組件,引用名為wave,這也是一會(huì)使用的節(jié)點(diǎn)名,和view一樣直接用

{
//使用組件,引用名(直接當(dāng)做節(jié)點(diǎn)使用),路徑
"usingComponents": {
"wave": "../com/wave/waves"
}
}

index.wxml

index.js:通過wave設(shè)置的id獲取組件對(duì)象,調(diào)用私有方法。去除內(nèi)部信息。

 onLoad: function (options) {
   this.wave = this.selectComponent("#wave");
   this.wave.__hideInfo()
 },

再來一個(gè)靜態(tài)圖:

好了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js實(shí)現(xiàn)的二分查找算法實(shí)例

    js實(shí)現(xiàn)的二分查找算法實(shí)例

    這篇文章主要介紹了js實(shí)現(xiàn)的二分查找算法,結(jié)合實(shí)例形式較為詳細(xì)的分析了JavaScript簡(jiǎn)單實(shí)現(xiàn)二分查找算法的運(yùn)算原理與具體步驟,需要的朋友可以參考下
    2016-01-01
  • javaScript年份下拉列表框內(nèi)容為當(dāng)前年份及前后50年

    javaScript年份下拉列表框內(nèi)容為當(dāng)前年份及前后50年

    本文介紹的這個(gè)javaScript年份下拉列表框內(nèi)容為當(dāng)前年份及前后50年,默認(rèn)顯示當(dāng)前年份,大家可以學(xué)習(xí)下
    2014-05-05
  • 判斷iframe里的頁面是否加載完成

    判斷iframe里的頁面是否加載完成

    這篇文章主要介紹了通過js來判斷iframe里的頁面是否加載完成,需要的朋友可以參考下
    2014-06-06
  • js判斷一個(gè)對(duì)象是數(shù)組(函數(shù))的方法實(shí)例

    js判斷一個(gè)對(duì)象是數(shù)組(函數(shù))的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于利用js如何判斷一個(gè)對(duì)象是數(shù)組(函數(shù))的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • javascript DIV實(shí)現(xiàn)跟隨鼠標(biāo)移動(dòng)

    javascript DIV實(shí)現(xiàn)跟隨鼠標(biāo)移動(dòng)

    這篇文章主要為大家詳細(xì)介紹了javascript DIV跟隨鼠標(biāo)移動(dòng),有一個(gè)div跟隨鼠標(biāo)移動(dòng)的結(jié)果,有一連串跟隨鼠標(biāo)移動(dòng)的效果,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Javascript單例模式的介紹和實(shí)例

    Javascript單例模式的介紹和實(shí)例

    這篇文章將會(huì)介紹Javascript模式中較為常見和實(shí)用的模式——單例模式,主要分為概念和實(shí)例部分。在介紹實(shí)例的同時(shí)也會(huì)對(duì)代碼中額外的知識(shí)點(diǎn)進(jìn)行講解。有需要的朋友們可以參考借鑒。
    2016-10-10
  • JS中的eval 為什么加括號(hào)

    JS中的eval 為什么加括號(hào)

    JS中的eval 為什么加括號(hào)呢?相信很多朋友都不是很清楚吧,下面小編通過本教程幫助大家學(xué)習(xí)JS中的eval 為什么加括號(hào),感興趣的朋友了解下吧
    2016-04-04
  • JavaScript實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁版計(jì)算器

    JavaScript實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁版計(jì)算器

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁版計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JavaScript實(shí)現(xiàn)密碼框驗(yàn)證信息

    JavaScript實(shí)現(xiàn)密碼框驗(yàn)證信息

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)密碼框驗(yàn)證信息,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • javascript實(shí)現(xiàn)數(shù)字時(shí)鐘特效

    javascript實(shí)現(xiàn)數(shù)字時(shí)鐘特效

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)數(shù)字時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評(píng)論

静乐县| 延津县| 清水县| 碌曲县| 随州市| 崇文区| 安徽省| 武陟县| 九江市| 博兴县| 双柏县| 施甸县| 千阳县| 麟游县| 金溪县| 句容市| 清水河县| 滨州市| 海阳市| 新建县| 康保县| 温泉县| 三穗县| 邹平县| 中西区| 乌鲁木齐市| 沂水县| 石林| 那坡县| 龙游县| 保亭| 新乡县| 托克托县| 宣汉县| 咸宁市| 仪征市| 都匀市| 南涧| 望谟县| 滦平县| 朝阳区|