微信小程序自定义toast实现方法详解【附demo源码下载】


Posted in Javascript onNovember 28, 2017

本文实例讲述了微信小程序自定义toast实现方法。分享给大家供大家参考,具体如下:

一、微信官方默认toast

toast最常见了,几乎每个App都有这样的特效,先看下小程序自带的toast效果,立马想死的心都有了~~

微信自带toast的效果:

微信小程序自定义toast实现方法详解【附demo源码下载】

js文件:

wx.showToast({
 title: '成功',
 icon: 'success',
 duration: 2000
})

用法超级简单,但官方小程序有几个问题:

只能显示success、loading两种icon

且icon不可去除

持续时间最大10秒

二、自定义toast

我们最常见的toast是偏底部,而且高度是比较小的那种~~

先看效果:

微信小程序自定义toast实现方法详解【附demo源码下载】

看似简单,实现起来相当不简单,如何实现:

1)建立一个公共的toast的template模板文件,因为每个页面都需要用到toast

<!-- wetoast.wxml -->
<template name="wetoast">
 <view class="wetoast {{reveal ? 'wetoast_show' : ''}}">
  <view class="wetoast__mask"></view>
  <view class="wetoast__bd {{position}}" animation="{{animationData}}">
   <block wx:if="{{title}}">
    <view class="wetoast__bd__title {{titleClassName || ''}}">{{title}}</view>
   </block>
  </view>
 </view>
</template>

2)JS主要有以下用法

核心代码:

let pages = getCurrentPages();
let curPage = pages[pages.length - 1];

这段代码是核心,getCurrentPages().length - 1 表示可以获得当前页面的page,只有获得了page,才能通过page.setData把当前页面的数据绑定到toast上面。

核心代码:

let animation = wx.createAnimation();
animation.opacity(1).step();

这段代码是toast消失的时候有一个缓慢的动画效果。

附:完整demo实例代码点击此处本站下载

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
XML+XSL 与 HTML 两种方案的结合
Apr 22 Javascript
JavaScript 代码压缩工具小结
Feb 27 Javascript
js数组的操作详解
Mar 27 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
Apr 12 Javascript
jQuery实现鼠标移到元素上动态提示消息框效果
Oct 20 Javascript
javascript获取系统当前时间的方法
Nov 19 Javascript
AngularJS 单选框及多选框的双向动态绑定
Apr 20 Javascript
JS运动特效之同时运动实现方法分析
Jan 24 Javascript
angularJS开发注意事项
May 26 Javascript
Vuejs开发环境搭建及热更新【推荐】
Sep 07 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
May 06 Javascript
React更新渲染原理深入分析
Dec 24 Javascript
vue2.0与bootstrap3实现列表分页效果
Nov 28 #Javascript
Vue.JS项目中5个经典Vuex插件
Nov 28 #Javascript
Vue实现web分页组件详解
Nov 28 #Javascript
基于vue2实现左滑删除功能
Nov 28 #Javascript
JavaScript生成简单等差数列
Nov 28 #Javascript
微信小程序用户自定义模版用法实例分析
Nov 28 #Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
Nov 28 #Javascript
You might like
jQuery textarea的长度进行验证
2009/05/06 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
js中作用域的实例解析
2017/03/16 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
Vue 实用分页paging实例代码
2017/04/12 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
python保存数据到本地文件的方法
2018/06/23 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
python中温度单位转换的实例方法
2020/12/27 Python
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
英国时尚女装购物网站:Missguided
2018/08/23 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
一年级评语大全
2014/04/23 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
工程负责人任命书
2014/06/06 职场文书
先进个人评语大全
2015/01/04 职场文书
个人思想政治总结
2015/03/05 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android