2023-02-21 22:34:08 +08:00

63 lines
1.8 KiB
JavaScript

Page({
data: {
viewAnimate: "", // 保存一系列的动画队列
start: "北京", // 起始地
end: "上海", // 目的地
lAnimate: "", // 存储左边的动画序列
rAnimate: "" // 存储右边的动画序列
},
startMove() {
// 书写动画
// 1. 创建一个动画对象
const animationObj = wx.createAnimation({
duration: 3000,
timingFunction: 'ease'
});
// 2. 由这个对象来安排动画
// 书写了动画之后,调用 step 方法表示动画结束
animationObj.translateX(100).step().opacity(0.5).width(200).step();
this.setData({
viewAnimate: animationObj.export()
})
},
trigger() {
// 动画的配置对象
const option = {
duration: 100,
timingFunction: 'ease-in'
};
// 创建动画对象
const lanimation = wx.createAnimation(option);
const ranimation = wx.createAnimation(option);
// 起始地动画
lanimation.translateX(100).opacity(.1).step();
// 目的地动画
ranimation.translateX(-100).opacity(.1).step();
// 得到动画队列,设置到元素上面去
this.setData({
lAnimate: lanimation.export(),
rAnimate: ranimation.export(),
});
// 100ms之后将两个盒子各自又移动回自己之前的位置
setTimeout(() => {
// 起始地动画
lanimation.translateX(0).opacity(1).step();
// 目的地动画
ranimation.translateX(0).opacity(1).step();
// 得到动画队列,设置到元素上面去
const temp = this.data.start;
this.setData({
lAnimate: lanimation.export(),
rAnimate: ranimation.export(),
// 接下来再把文字进行交换即可
end : temp,
start : this.data.end,
});
}, 100)
}
})