微信小程序中实现某个样式值setData改变时从350rpx到200rpx的平滑过渡效果

方案一:使用 CSS Transition(推荐简单场景)

WXSS

css 复制代码
/* 在对应组件的WXSS中添加 */
.transition-effect {
  transition: all 0.4s ease-in-out;
  will-change: bottom; /* 启用GPU加速 */
}

WXML

html 复制代码
<!-- 修改后的WXML -->
<view 
  class="transition-effect"
  style="position: absolute;bottom: {{refreshBottomHeight}}rpx;left: 50%;transform: translateX(-50%);" 
  bindtap="rightBtn">
  <!-- 内部内容保持不变 -->
</view>

方案二:使用小程序动画API(推荐复杂动画)

JS

javascript 复制代码
// 在组件/页面的JS中
Page({
  data: {
    animationData: {}
  },

  // 初始化动画
  onReady() {
    this.animation = wx.createAnimation({
      duration: 400,       // 动画时长
      timingFunction: 'ease-out', // 贝塞尔曲线
      delay: 0
    })
  },

  // 更新位置的方法
  updatePosition(newHeight) {
    this.animation.bottom(newHeight + 'rpx').step()
    this.setData({
      animationData: this.animation.export()
    })
  }
})

WXMl

html 复制代码
<!-- 修改后的WXML -->
<view 
  animation="{{animationData}}"
  style="position: absolute;left: 50%;transform: translateX(-50%);" 
  bindtap="rightBtn">
  <!-- 内部内容保持不变 -->
</view>

方案对比

特性 CSS Transition 小程序动画API
实现难度 ⭐(简单) ⭐⭐(需要API调用)
性能 ⭐⭐⭐(GPU加速) ⭐⭐(部分机型有优化)
控制精度 基于样式变化 可编程控制
兼容性 全平台支持 需要基础库2.9.0+
复杂动画支持 仅支持简单过渡 支持多属性复合动画
相关推荐
liangshanbo121513 小时前
前端面试题:微信小程序怎么优化性能?
前端·微信小程序·notepad++
扶风ff14 小时前
练题簿在线免费刷题:题目导入、章节管理、Excel 与 Word 导出,让题库更好用
学习·小程序·word·excel
拖孩15 小时前
一个全程 AI 写的小程序「厨菜记」,上线 20 天跑通流量主,收入几块钱,开心得不行
前端·后端·微信小程序
程序猿_极客15 小时前
【免费】分享一套优质的基于微信小程序的音乐播放器系统的设计与实现,源码+文档+视频详解(讲解)
微信小程序·小程序·springboot·音乐播放器小程序·音乐管理系统
愚公搬代码16 小时前
【愚公系列】《微信小程序项目实战(AI编程+视频图解)》015-测试
微信小程序·小程序·ai编程
小蒜学长2 天前
基于微信小程序的遇见咖啡店点餐系统设计与实现(代码+数据库+LW)
java·spring boot·后端·微信小程序·咖啡店点餐系统
今日热点2 天前
小程序主体变更公证线上办理教程|2026 最新材料规范与审核避坑
小程序
Ai-_Man2 天前
从聊天框到正式文档:AI导出鸭瞄准AI大模型应用的“最后一公里”
开发语言·前端·javascript·人工智能·小程序
省钱兄--zs2 天前
北京24小时自助健身房系统软件开发实战:从架构设计到部署指南
java·数据仓库·spring boot·小程序·需求分析
Ai-_Man2 天前
您您这可以把Grok的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭
javascript·人工智能·ai·小程序·电脑