标签:int settime eva bsp -o highlight color 动画 需要
/*
noticeMsg.js
by: FEer_llx
2016/06/09
*/
var notice = {
//用于计时器,判断动画事件结束时下一个动画事件才能执行
flag: true,
//头部自动下拉隐藏提示效果
autoSlideDown: function (opt) {
opt._this.animation.translateY(opt.changeVaule).step()
opt._this.setData({
animation: opt._this.animation.export()
})
setTimeout(function () {
opt._this.animation.translateY(-opt.changeVaule).step()
opt._this.setData({
animation: opt._this.animation.export()
})
}, 3000)
},
//头部下拉提示效果
slideDown: function (opt) {
var _self = this;
opt._this.animation.translateY(45).step()
opt._this.setData({
animation: opt._this.animation.export()
})
},
//头部隐藏提示效果
slideUp: function (opt) {
opt._this.animation.translateY(-45).step()
opt._this.setData({
animation: opt._this.animation.export()
})
},
//页面居中自动淡入淡出提示效果
autoFade:function(opt){
var that = this;
that.flag = false;
opt._this.animation.opacity(1).step()
opt._this.setData({
animation: opt._this.animation.export()
})
setTimeout(function () {
opt._this.animation.opacity(0).step()
opt._this.setData({
animation: opt._this.animation.export()
})
}, 2000)
setTimeout(function () {
opt._this.setData({
showTip: false
})
that.flag = true;
}, 3000)
},
init: function (obj) {
var that = this;
if (!obj || !obj.pointTo || !obj.effect) {
return;
}
var opt = {
_this: obj.pointTo,
effect: obj.effect,
during: obj.during || 100,
changeVaule: obj.changeVaule || 50,
delay: obj.delay || 0,
transformOrigin: obj.transformOrigin || ‘50% 50% 0‘,
timingFunction: obj.timingFunction || "linear",
}
opt._this.animation = wx.createAnimation({
duration: opt.during,
timingFunction: opt.timingFunction,
delay: opt.delay,
transformOrigin: opt.transformOrigin
})
//执行对应的效果函数
if (opt.effect == "autoSlideDown"){
that.autoSlideDown(opt);
return;
} else if (opt.effect == "slideDown") {
that.slideDown(opt);
opt._this.closeTip = function (){
that.slideUp(opt);
}
return;
} else if (opt.effect == "autoFade"){
opt._this.setData({
showTip: true
})
if(that.flag){
that.autoFade(opt);
}
return;
}else{
return;
}
}
}
module.exports.notice = notice;
调用:
var noticeUtils = require(‘../../utils/noticeUtils‘);
Page({
data:{
animation: ""
}
...
//在需要调用的地方调用该初始化方法即可如:
noticeUtils.notice.init({ pointTo: this,
//动画事件函数名称 effect: "slideDown",
//动画执行的时间 during: 500,
//动画过程需要改变的值,如改变的位移 changeVaule: 45,
//动画延迟多少时间执行 delay: 0,
//动画中心点 transformOrigin: ‘50% 50% 0‘,
//动画执行时的线性 timingFunction: "linear" })
...
)}
wxml:
<view animation="{{animation}}" class="tip-slidedown"><text>提示:你好!</text><icon bindtap="closeTip" type="cancel" size="20" color="#fff" style="float: right"/></view>
补充说明:
待续~~
自制微信小程序 提示插件 -- noticeUitis.js
标签:int settime eva bsp -o highlight color 动画 需要
原文地址:http://www.cnblogs.com/luleixia/p/6973462.html