微信小程序中实现某个样式值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+
复杂动画支持 仅支持简单过渡 支持多属性复合动画
相关推荐
软件管理系统6 小时前
基于小程序的高校后勤报修管理系统
小程序
青春逝如流水7 小时前
微信小程序开发入门
微信小程序·小程序·入门
weixin_lynhgworld10 小时前
淘宝扭蛋机小程序:开启线上娱乐与购物的全新融合时代
小程序·娱乐
树欲静而风不止慢一点吧10 小时前
小米手环9应用/游戏开发快速入门
前端·javascript·小程序
游戏开发爱好者811 小时前
抓包工具有哪些?代理抓包、数据流抓包、拦截转发工具
android·ios·小程序·https·uni-app·iphone·webview
棒棒的唐11 小时前
vant小程序版弹窗穿透滚动的解决方案
小程序
翔云 OCR API12 小时前
NFC护照识读鉴伪解决方案-小程序/app端护照鉴伪
小程序
禾高网络15 小时前
互联网医院定制|互联网医院|禾高互联网医院搭建
java·大数据·人工智能·小程序
qq_124987075315 小时前
基于微信小程序的付费自习室系统的设计与实现(源码+论文+部署+安装)
spring boot·微信小程序·小程序·毕业设计·计算机毕业设计·毕设源码
一室易安16 小时前
uniapp vue3 小程序中 手写模仿京东淘宝加入购物车红点曲线飞入样式效果 简化版代码
小程序·uni-app