微信小程序css动画渐出渐入
时间: 2023-10-02 07:09:25 浏览: 164
要实现微信小程序中的CSS动画渐出渐入效果,可以使用`wx.createAnimation`方法来创建动画对象,并利用该对象的`opacity`属性来控制元素的透明度。以下是一个简单的示例代码:
1. 在wxml文件中,添加需要应用动画效果的元素,如:
```html
<view class="box" animation="{{animationData}}">Hello, World!</view>
```
2. 在wxss文件中,定义动画类:
```css
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes fadeOut {
0% { opacity: 1; }
100% { opacity: 0; }
}
.fade-in {
animation: fadeIn 1s;
}
.fade-out {
animation: fadeOut 1s;
}
```
3. 在js文件中,创建动画对象并设置动画效果:
```javascript
Page({
data: {
animationData: {}
},
onLoad: function() {
const animation = wx.createAnimation({
duration: 1000, // 动画持续时间,单位ms
timingFunction: 'ease', // 动画效果
})
this.animation = animation
},
fadeIn: function() {
this.animation.opacity(1).step()
this.setData({
animationData: this.animation.export()
})
},
fadeOut: function() {
this.animation.opacity(0).step()
this.setData({
animationData: this.animation.export()
})
},
})
```
4. 调用`fadeIn`和`fadeOut`方法来触发动画效果:
```html
<button bindtap="fadeIn">Fade In</button>
<button bindtap="fadeOut">Fade Out</button>
```
以上代码实现了一个简单的渐入和渐出效果,点击"Fade In"按钮时,元素逐渐显示;点击"Fade Out"按钮时,元素逐渐隐藏。你可以根据实际需求调整动画的持续时间、动画效果等参数。
阅读全文