微信小程序自定义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 相关文章推荐
jquery 笔记 事件
Nov 02 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
Apr 04 Javascript
jQuery实现表单步骤流程导航代码分享
Aug 28 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
js命名空间写法示例
Dec 18 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
Jun 07 Javascript
微信小程序实现默认第一个选中变色效果
Jul 17 Javascript
element-ui upload组件多文件上传的示例代码
Oct 17 Javascript
layui动态表头的实现代码
Aug 22 Javascript
node运行js获得输出的三种方式示例详解
Jul 02 Javascript
jQuery实现开关灯效果
Aug 02 jQuery
vue切换菜单取消未完成接口请求的案例
Nov 13 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
如何对PHP程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
js实现碰撞检测
2021/01/29 Javascript
在Django中创建第一个静态视图
2015/07/15 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
python系列 文件操作的代码
2019/10/06 Python
Python帮你识破双11的套路
2019/11/11 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
python基于openpyxl生成excel文件
2020/12/23 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
高中自我评价范文
2014/01/27 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
分公司任命书
2014/06/06 职场文书
学校捐款活动总结
2015/05/09 职场文书
迎国庆主题班会
2015/08/17 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python