先定义小程序中要施加渐入动画的DOM元素,注意该元素的css样式里要添加下opaction
属性,通常设为0,意为从全透明开始渐入。另外还需要根据实际场景设定该元素的left
或right
值,以供动画方法定义滑动距离。
<view class="animation-class" animation="slideleft">向左滑入渐入动画DOM元素</view>
定义小程序内公共动画方法
// animation.js
/**
* X轴滑动渐入动画
*/
function fadeXAnimation( _this, param, px, opacity ){
let animation = wx.createAnimation({
duration: 800,
timingFunction: "ease"
})
animation.translateX( px ).opacity( opacity ).step();
// 将param转换为key
let json = '{"'+ param +'":""}';
json = JSON.parse( json );
json[param] = animation.export();
// 设置动画
_this.setData( json );
}
module.exports = {
fadeXAnimation: fadeXAnimation
}
业务代码js中引入公共动画方法js文件,并选择符合自身业务场景的地方调用动画方法,这里我选择onshow
生命周期内执行动画方法,另外也可以将该方法放到定时器中延时执行或在wx.createAnimation
方法中定义delay
延时。
// index.js
const animation = require('../../utils/tools/animation.js')
onshow(){
animation.fadeXAnimation(this, "slide_left_locks", -100, 1);
}
可以在此基础上,添加Y轴渐入、渐出等动画。微信小程序动画API还支持旋转、放大等,方法的套路都差不多。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有