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

微信小程序自定義toast組件的方法詳解【含動畫】

 更新時間:2019年05月11日 10:38:30   作者:zhy前端攻城獅  
這篇文章主要介紹了微信小程序自定義toast組件的方法,結(jié)合實例形式詳細分析了微信小程序自定義toast組件的步驟、實現(xiàn)方法及相關操作技巧,需要的朋友可以參考下

本文實例講述了微信小程序自定義toast組件的方法。分享給大家供大家參考,具體如下:

怎么創(chuàng)建就不說了,前面一篇有
微信小程序自定義prompt組件
直接上代碼

wxml

<!-- components/toast/toast.wxml -->
<view class="toast-box {{isShow? 'show':''}}" animation="{{animationData}}">
  <view class="toast-content" >
    <view class="toast-img">
      <block wx:if="{{type==='success'}}">
        <image class="toast-icon" src="xxx" />
      </block>
      <block wx:if="{{type==='fail'}}">
        <image class="toast-icon" src="xxx" />
      </block>
    </view>
    <view class="toast-title">{{title}}</view>
  </view>
</view>

js

// components/toast/toast.js
Component({
 properties: {
 },
 data: {
  type: 'fail',
  title: '你還沒有勾選呢!',
  isShow: false,
  animationData: ''
 },
 methods: {
  showToast: function (data) {
   const self = this;
   if (this._showTimer) {
    clearTimeout(this._showTimer)
   }
   if (this._animationTimer) {
    clearTimeout(this._animationTimer)
   }
   // display需要先設置為block之后,才能執(zhí)行動畫
   this.setData({
    title: data.title,
    type: data.type,
    isShow: true,
   });
   this._animationTimer = setTimeout(() => {
    const animation = wx.createAnimation({
     duration: 500,
     timingFunction: 'ease',
     delay: 0
    })
    animation.opacity(1).step();
    self.setData({
     animationData: animation.export(),
    })
   }, 50)
   this._showTimer = setTimeout(function () {
    self.hideToast();
    if (data.compelete && (typeof data.compelete === 'function')) {
     data.compelete()
    }
   }, 1200 || (50 + data.duration))
  },
  hideToast: function () {
   if (this._hideTimer) {
    clearTimeout(this._hideTimer)
   }
   let animation = wx.createAnimation({
    duration: 200,
    timingFunction: 'ease',
    delay: 0
   })
   animation.opacity(0).step();
   this.setData({
    animationData: animation.export(),
   })
   this._hideTimer = setTimeout(() => {
    this.setData({
     isShow: false,
    })
   }, 250)
  }
 }
})

json

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

wxss

/* components/toast/toast.wxss */
.toast-box {
 position: absolute;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 z-index: 11;
 display: none;
 opacity: 0;
}
.show{
 display: block;
}
.toast-content {
 position: absolute;
 left: 50%;
 top: 35%;
 width: 350rpx;
 /*height: 250rpx;*/
 border-radius: 10rpx;
 box-sizing: bordre-box;
 transform: translate(-50%, -50%);
 background: rgba(0, 0, 0, .7);
}
.toast-img{
  width: 100%;
  height: 120rpx;
  padding-top: 15rpx;
  box-sizing: bordre-box;
  text-align: center;
}
.toast-icon{
  width: 100rpx;
  height: 100rpx;
}
.toast-title {
  width: 100%;
  padding:10rpx;
  line-height: 65rpx;
  color: white;
  text-align: center;
  font-size: 40rpx;
  box-sizing: border-box;
}

使用

例如,在index.html中使用

在json中添加useComponents屬性

"usingComponents": {
  "vas-prompt": "./components/toast/toast"
}

wxml

<vas-toast id='toast'></vas-toast>
<button bindtap="showToast">點擊彈出toast</button>

js

//在onReady生命周期函數(shù)中,先獲取prompt實例
onReady:function(){
  this.prompt = this.selectComponent("#toast");
},
showToast:function(){
  this.toast.showToast({
   type: 'success',
   title: '測試彈出消息',
   duration: 1000,
   compelete: function () {
    console.log('toast框隱藏之后,會調(diào)用該函數(shù)')
    //例如:跳轉(zhuǎn)頁面wx.navigateTo({ url: 'xxx' });
   }
  })
},

效果

希望本文所述對大家微信小程序開發(fā)有所幫助。

相關文章

  • 微信小程序獲取位置展示地圖并標注信息的實例代碼

    微信小程序獲取位置展示地圖并標注信息的實例代碼

    這篇文章主要介紹了微信小程序獲取位置展示地圖并標注信息的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • JavaScript中瀏覽器多標簽頁通信的8種方案盤點

    JavaScript中瀏覽器多標簽頁通信的8種方案盤點

    這篇文章主要為大家詳細介紹了JavaScript中瀏覽器多個標簽頁通信的8種方案與實戰(zhàn)場景深度對比,文中的示例代碼簡潔易懂,有需要的可以參考下
    2025-03-03
  • JS實現(xiàn)回到頁面頂部動畫效果的簡單實例

    JS實現(xiàn)回到頁面頂部動畫效果的簡單實例

    下面小編就為大家?guī)硪黄狫S實現(xiàn)回到頁面頂部動畫效果的簡單實例。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • JavaScript更改原始對象valueOf的方法

    JavaScript更改原始對象valueOf的方法

    這篇文章主要介紹了JavaScript更改原始對象valueOf的方法,涉及javascript使用自定義valueOf函數(shù)替換掉原始object中valueOf的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Javascript中的this綁定介紹

    Javascript中的this綁定介紹

    在Javascript里,函數(shù)被調(diào)用的時候,除了接受聲明是定義的形式參數(shù),每一個函數(shù)還接受兩個附加的參數(shù):this和arguments。
    2011-09-09
  • 深入理解JS DOM事件機制

    深入理解JS DOM事件機制

    下面小編就為大家?guī)硪黄钊肜斫釰S DOM事件機制。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • JS 設計模式之:單例模式定義與實現(xiàn)方法淺析

    JS 設計模式之:單例模式定義與實現(xiàn)方法淺析

    這篇文章主要介紹了JS 設計模式之:單例模式,結(jié)合實例形式分析了JS 單例模式原理、定義、實現(xiàn)方法與相關注意事項,需要的朋友可以參考下
    2020-05-05
  • Webpack?ECMAScript?模塊詳解

    Webpack?ECMAScript?模塊詳解

    ECMAScript 模塊(ESM)是在 Web 中使用模塊的規(guī)范, 所有現(xiàn)代瀏覽器均支持此功能,同時也是在 Web 中編寫模塊化代碼的推薦方式,這篇文章主要介紹了Webpack?ECMAScript?模塊,需要的朋友可以參考下
    2023-12-12
  • 純javascript實現(xiàn)的小游戲《Flappy Pig》實例

    純javascript實現(xiàn)的小游戲《Flappy Pig》實例

    這篇文章主要介紹了純javascript實現(xiàn)的小游戲《Flappy Pig》,較為詳細的分析了javascript實現(xiàn)小游戲《Flappy Pig》的相關技巧,涉及javascript操作頁面元素移動、碰撞、事件監(jiān)聽與觸發(fā)的相關技巧,需要的朋友可以參考下
    2015-07-07
  • Object.keys()的用法示例詳解

    Object.keys()的用法示例詳解

    Object.keys()是遍歷一個對象自身的屬性名稱(不包括繼承屬性)的最簡單方法,這篇文章主要介紹了Object.keys()的用法,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-07-07

最新評論

综艺| 南涧| 庆元县| 汉中市| 定西市| 集安市| 朝阳区| 莱州市| 额济纳旗| 平原县| 修水县| 新安县| 雷波县| 富阳市| 南昌市| 株洲县| 河曲县| 城口县| 盈江县| 钟祥市| 界首市| 大埔区| 红河县| 德安县| 黄大仙区| 万载县| 玉溪市| 卢氏县| 铜山县| 乐昌市| 高陵县| 芮城县| 桐城市| 徐闻县| 察雅县| 曲阳县| 蕉岭县| 聂拉木县| 武汉市| 兴隆县| 都江堰市|