微信小程序实战之自定义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 相关文章推荐
Javascript 个人笔记(没有整理,很乱)
Jul 07 Javascript
动态为事件添加js代码示例
Feb 15 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
Dec 14 Javascript
JavaScript中对象介绍
Dec 31 Javascript
javascript事件冒泡实例分析
May 13 Javascript
javascript中的previousSibling和nextSibling的正确用法
Sep 16 Javascript
基于insertBefore制作简单的循环插空效果
Sep 21 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
Aug 16 Javascript
VUE axios上传图片到七牛的实例代码
Jul 28 Javascript
浅谈vue+webpack项目调试方法步骤
Sep 11 Javascript
微信小程序人脸识别功能代码实例
May 07 Javascript
vue组件暴露和.js文件暴露接口操作
Aug 11 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
提问的智慧(2)
2006/10/09 PHP
自动跳转中英文页面
2006/10/09 PHP
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
2016/07/12 PHP
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
2013/04/26 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
详解redux异步操作实践
2018/08/15 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
详解Python打包分发工具setuptools
2019/08/05 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
Python使用re模块验证危险字符
2020/05/21 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
自我鉴定范文300字
2013/10/01 职场文书
运动会入场解说词300字
2014/01/25 职场文书
运动会通讯稿200字
2014/02/16 职场文书
酒店仓管员岗位职责
2014/04/28 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
初中教师个人总结
2015/02/10 职场文书
Redis高并发缓存架构性能优化
2022/05/15 Redis