微信小程序实战之自定义toast(6)


Posted in Javascript onApril 18, 2017

微信提供了一个toast的api  wx.showToast()
相关连接:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-react.html#wxshowtoastobject 

本来是比较好的,方便使用,但是这个toast会显示出图标,而且不能去除。
假设:我们执行完业务的时候,toast一下,当执行成功的时候,效果还可以接受,如下图:

 微信小程序实战之自定义toast(6)

但是,当执行失败的时候,如下图:

失败了,你还显示个扣扣图案,那到底是成功还是失败??这肯定是不能接受的。

若是给老板看到这种效果,又是一顿臭骂,程序猿的委屈

微信小程序实战之自定义toast(6)

下面介绍一个自定义的toast

效果:

微信小程序实战之自定义toast(6) 

具体实现:
wxml:

<!--按钮--> 
<view style="{{isShowToast?'position:fixed;':''}}"> 
 <view class="btn" bindtap="clickBtn">button</view> 
</view> 
 
<!--mask--> 
<view class="toast_mask" wx:if="{{isShowToast}}"></view> 
<!--以下为toast显示的内容--> 
<view class="toast_content_box" wx:if="{{isShowToast}}"> 
 <view class="toast_content"> 
 <view class="toast_content_text"> 
  {{toastText}} 
 </view> 
 </view> 
</view>

wxss:

Page { 
 background: #fff; 
} 
/*按钮*/ 
.btn { 
 font-size: 28rpx; 
 padding: 15rpx 30rpx; 
 width: 100rpx; 
 margin: 20rpx; 
 text-align: center; 
 border-radius: 10rpx; 
 border: 1px solid #000; 
} 
/*mask*/ 
.toast_mask { 
 opacity: 0; 
 width: 100%; 
 height: 100%; 
 overflow: hidden; 
 position: fixed; 
 top: 0; 
 left: 0; 
 z-index: 888; 
} 
/*toast*/ 
.toast_content_box { 
 display: flex; 
 width: 100%; 
 height: 100%; 
 justify-content: center; 
 align-items: center; 
 position: fixed; 
 z-index: 999; 
} 
.toast_content { 
 width: 50%; 
 padding: 20rpx; 
 background: rgba(0, 0, 0, 0.5); 
 border-radius: 20rpx; 
} 
.toast_content_text { 
 height: 100%; 
 width: 100%; 
 color: #fff; 
 font-size: 28rpx; 
 text-align: center; 
}

js:

Page({ 
 data: { 
 //toast默认不显示 
 isShowToast: false 
 }, 
 showToast: function () { 
 var _this = this; 
 // toast时间 
 _this.data.count = parseInt(_this.data.count) ? parseInt(_this.data.count) : 3000; 
 // 显示toast 
 _this.setData({ 
  isShowToast: true, 
 }); 
 // 定时器关闭 
 setTimeout(function () { 
  _this.setData({ 
  isShowToast: false 
  }); 
 }, _this.data.count); 
 }, 
 /* 点击按钮 */ 
 clickBtn: function () { 
 console.log("你点击了按钮") 
 //设置toast时间,toast内容 
 this.setData({ 
  count: 1500, 
  toastText: 'Michael's Toast' 
 }); 
 this.showToast(); 
 } 
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
Dec 29 Javascript
textarea中的手动换行处理的jquery代码
Feb 26 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
Aug 04 Javascript
限制上传文件大小和格式的jQuery插件实例
Jan 24 Javascript
深入浅析JavaScript中prototype和proto的关系
Nov 15 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
Dec 07 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
Nov 23 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
Jan 18 Javascript
js, jQuery实现全选、反选功能
Mar 08 Javascript
jquery.masonry瀑布流效果
May 25 jQuery
小程序实现短信登录倒计时
Jul 12 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
Aug 04 Javascript
Jquery-data的三种用法
Apr 18 #jQuery
微信小程序实战之登录页面制作(5)
Mar 30 #Javascript
Angular2数据绑定详解
Apr 18 #Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
Jun 29 #Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
Apr 16 #Javascript
JavaScript实现前端实时搜索功能
Mar 26 #Javascript
用 js 的 selection range 操作选择区域内容和图片
Apr 18 #Javascript
You might like
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
PHP实现微信提现功能
2018/09/30 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
2013/01/25 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
jQuery开源组件BootstrapValidator使用详解
2017/06/29 jQuery
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
python计算N天之后日期的方法
2015/03/31 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
python保存字符串到文件的方法
2015/07/01 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
大学活动邀请函
2014/01/28 职场文书
公司营业员的自我评价
2014/03/04 职场文书
会计专业求职信范文
2014/03/16 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
电子专业求职信
2014/06/19 职场文书
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫
基于Redission的分布式锁实战
2022/08/14 Redis