小程序弹窗动画

本文介绍了如何在小程序中创建弹窗并实现平滑的动画效果。通过展示wxml、wxss和js代码,详细讲解了弹窗组件的布局、样式设置以及动画逻辑的实现,帮助读者掌握小程序中弹层动画的开发技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wxml代码如下

<view wx:if="{{markStatus}}" class='mark'>
  <view class='approval-box bottom-pos' animation="{{animationData}}">
    <view class='mark-title flex-sb plr30'>
      <view bindtap='cancelMark' class='fs28'>取消</view>
      <view class='fs28 colorQgreen'>确认</view>
    </view>
    <view class='mark-content plr30'>
       //自己的弹出内容
      </view>
    </view>
  </view>
</view>

wxss代码如下

.mark{
  position: fixed;
  background: rgba(0, 0, 0, .5);
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 101;
}
.bottom-pos{-webkit-transform:translateY(100%);transform:translateY(100%);}
.approval-box{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  background: #ffffff;
}

js代码如下

Page({

	  /**
	   * 页面的初始数据
	   */
	  data: {
	    markStatus: false,
	    animationData: {},//弹层动画
	  },

	  /**
	   * 生命周期函数--监听页面加载
	   */
	  onLoad: function (options) {
	
	  },
	markShow: function(){
	    this.setData({
	      markStatus: true,
	      textareaTf: true,
	    })
	    var animation = wx.createAnimation();
	    this.animation = animation
	    this.fadeIn();
	  },
	  cancelMark: function(){
	    var that = this;
	    this.setData({
	      textareaTf: false
	    })
	    var animation = wx.createAnimation();
	    this.animation = animation
	    that.fadeDown(); 
	    setTimeout(function () {
	      that.setData({
	        markStatus: false
	      })
	    }, 300)
	  },
	  fadeIn: function () {
	    this.animation.translateY(0).step();
	    this.setData({
	      animationData: this.animation.export()
	    })
	  },
	  fadeDown: function () {
	    this.animation.translateY(300).step();
	    this.setData({
	      animationData: this.animation.export(),
	    })
	  }, 
  })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值