微信小程序 Toast自定义实例详解
实现类似于Android的Toast提示
index.js:
},showModal: function () {
// 显示遮罩层
var animation = wx.createAnimation({
duration: 200,timingFunction: "linear",delay: 0
})
this.animation = animation
animation.translateY(200).step()
this.setData({
animationData: animation.export(),showModalStatus: true
})
setTimeout(function () {
animation.translateY(0).step()
this.setData({
animationData: animation.export()
})
}.bind(this),200)
console.log("准备执行");
timer = setTimeout(function () {
if(this.data.showModalStatus){
this.hideModal();
console.log("是否执行");
}
}.bind(this),3000)
},clickbtn:function(){
if(this.data.showModalStatus){
this.hideModal();
}else{
this.showModal();
}
},hideModal: function () {
if(timer != null){
clearTimeout(timer);
timer = null;
}
// 隐藏遮罩层
var animation = wx.createAnimation({
duration: 200,})
setTimeout(function () {
animation.translateY(0).step()
this.setData({
animationData: animation.export(),showModalStatus: false
})
}.bind(this),200)
},})
// 显示遮罩层
var animation = wx.createAnimation({
duration: 200,timingFunction: "linear",delay: 0
})
this.animation = animation
animation.translateY(200).step()
this.setData({
animationData: animation.export(),showModalStatus: true
})
setTimeout(function () {
animation.translateY(0).step()
this.setData({
animationData: animation.export()
})
}.bind(this),200)
console.log("准备执行");
timer = setTimeout(function () {
if(this.data.showModalStatus){
this.hideModal();
console.log("是否执行");
}
}.bind(this),3000)
},clickbtn:function(){
if(this.data.showModalStatus){
this.hideModal();
}else{
this.showModal();
}
},hideModal: function () {
if(timer != null){
clearTimeout(timer);
timer = null;
}
// 隐藏遮罩层
var animation = wx.createAnimation({
duration: 200,})
setTimeout(function () {
animation.translateY(0).step()
this.setData({
animationData: animation.export(),showModalStatus: false
})
}.bind(this),200)
},})
效果图:
支持!