微信小程序实战之自定义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 相关文章推荐
jQuery的一些注意
Dec 06 Javascript
Javascript 面向对象编程(coolshell)
Mar 18 Javascript
javascript数组操作总结和属性、方法介绍
Apr 05 Javascript
javascript面向对象快速入门实例
Jan 13 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
Oct 19 Javascript
简述jQuery Easyui一些用法
Aug 01 jQuery
详解VueJS应用中管理用户权限
Feb 02 Javascript
vuejs简单验证码功能完整示例
Jan 08 Javascript
node中IO以及定时器优先级详解
May 10 Javascript
Angular value与ngValue区别详解
Nov 27 Javascript
JavaScript隐式类型转换代码实例
May 29 Javascript
JS实现前端路由功能示例【原生路由】
May 29 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中递归的实现实例详解
2017/11/14 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
一系列Bootstrap导航条使用方法分享
2016/04/29 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
layui中的switch开关实现方法
2019/09/03 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
详解python中list的使用
2019/03/15 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
Myprotein葡萄牙官方网站:英国优质运动营养品牌
2016/09/12 全球购物
法国珠宝店:CLEOR
2017/01/29 全球购物
若干个Java基础面试题
2015/05/19 面试题
机电专业个人自荐信格式模板
2013/09/23 职场文书
庆中秋节主题活动方案
2014/02/03 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
邓小平理论心得体会
2014/09/09 职场文书
2014年会计工作总结
2014/11/27 职场文书
优秀英文求职信范文
2015/03/19 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
python获取带有返回值的多线程
2022/05/02 Python