微信小程序---缓慢展开和收起效果(不需要wx:if控制实现)

这篇具有很好参考价值的文章主要介绍了微信小程序---缓慢展开和收起效果(不需要wx:if控制实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、能实现效果:

效果一:

微信小程序展开和收起,微信小程序,微信小程序,小程序,前端

点击中间问题,在中间缓慢展开 ,将下面往下撑开,点击再次收起效果

效果二:

微信小程序展开和收起,微信小程序,微信小程序,小程序,前端

微信小程序展开和收起,微信小程序,微信小程序,小程序,前端

点击添加商品,缓慢向下展开,点击收起,缓慢将下面收起效果

二、实现方法:

1、实现的原理:

通过height高度来控制展开或收起,当不需要展示时,高度为0,超过的部分用overflow: hidden;来隐藏,可以通过该方法来让需要展示的页面隐藏起来,然后显示的时候,将height条件去掉,在加上transition来控制动画即可

 2、效果一具体实现方法:

wxml:

<view class='help'>
  <view class='help_item' wx:for="{{questList}}" wx:key="index">
    <view class='title' data-index='{{index}}' catchtap='panel'>
      <view class='title_1'>{{item.title}}</view>
      <view class='title_2'><image src="/pages/images/common/{{item.t ? 'up':'down'}}.png"></image></view>
    </view>
    <view class='detail' style="height:{{ item.t?'':0}}">{{item.content}}</view>
  </view>
</view>

 js部分:

data: {
    showIndex: 10,
    questList: [{
      title: 'Q:这是问题',
      content: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容",
      t:false,
    }, {
      title: 'Q:这是问题',
      content: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容",
      t:false,
    }, {
      title: 'Q:这是问题',
      content: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容",
      t:false,
    }]
  },
panel: function (e) {
    this.data.questList[e.currentTarget.dataset.index].t = !this.data.questList[e.currentTarget.dataset.index].t
    this.setData({
      questList:this.data.questList
    })
    if (e.currentTarget.dataset.index != this.data.showIndex) {
      this.setData({
        showIndex: e.currentTarget.dataset.index,
      })
    } 
    else {
      this.setData({
        showIndex: 10
      })
    }
  },

wxss:

.help {
  width: 700rpx;
  margin: 0 auto;
}

.help .help_item {
  margin: 10rpx auto;
}

.help .help_item .title {
  font-size: 30rpx;
  height: 80rpx;
  line-height: 80rpx;
  /* background: #e2e2e2; */
  border-bottom: 1rpx solid #eeeeee;
  display: flex;
}

.help .help_item .title .title_1 {
  width: 630rpx;
  height: 80rpx;
  padding-left: 20rpx;
}

.help .help_item .title .title_2 {
  width: 50rpx;
  height: 60rpx;
  text-align: center;

}

.help .help_item .title .title_2 image {
  width: 40rpx;
  height: 40rpx;
  margin: 10rpx auto;
}

.help .help_item .detail {
  margin: 10rpx auto;
  font-size: 25rpx;
  line-height: 40rpx;
  font-size: 30rpx;
  height: 300rpx;
  transition: height 1s;
  -moz-transition: height 1s;
  /* Firefox 4 */
  -webkit-transition: height 1s;
  /* Safari and Chrome */
  -o-transition: height 1s;
  /* Opera */
  overflow: hidden;
}

3、效果二实现方法:

原理实现是一样的,只需要将主要部分即可。

.cart-add-box {
  height: 140rpx;//设置好展开需要到什么高度
  transition: height 0.5s;//设置好动画效果
  -moz-transition: height 0.5s;
  -webkit-transition: height 0.5s;
  -o-transition: height 0.5s;
  overflow: hidden;//高度为0时,直接隐藏内容
}

<view class='cart-add-box' style="height:{{ is_add_code?'':0}}">内容:小马哥</view>

通过is_add_code:true/false来展示效果即可。

方法简单,只需要明白实现的原理即可实现自己喜欢的效果文章来源地址https://www.toymoban.com/news/detail-584673.html

到了这里,关于微信小程序---缓慢展开和收起效果(不需要wx:if控制实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【CSS】简单的抽屉面板展开收起自然过渡效果的css

    1.收起时点击蓝色梯形按钮展开 2. 展开时点击蓝色按钮收起 3.展开收起时需要过渡自然,有抽屉推拉效果

    2024年03月11日
    浏览(47)
  • 微信小程序 wx.showModal

    微信小程序--wx.showModal_海轰Pro的博客-CSDN博客

    2024年02月15日
    浏览(50)
  • 微信小程序view的折叠与展开

    在做隐藏view之前,我们可以先来了解一下微信小程序视图层的事件。 官方文档 事件 | 微信开放文档 什么是事件? 事件是视图层到逻辑层的通讯方式。 事件可以将用户的行为反馈到逻辑层进行处理。 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件

    2024年02月02日
    浏览(32)
  • 微信小程序-支付(wx.requestPayment)

    (学习中,持续更新) 直接调用的接口为wx.requestPayment(小程序前端调用)。 官方文档的请求例子为: 其中paySign官方文档给出了一个例子: MD5(appId=wxd678efh567hg6787nonceStr=5K8264ILTKCH16CQ2502SI8ZNMTM67VSpackage=prepay_id=wx2017033010242291fcfe0db70013231072signType=MD5timeStamp=1490840662key=qazwsxedcrfvtg

    2024年02月12日
    浏览(37)
  • 微信小程序-登录(wx.login)

    用户微信登录小程序有两种情况,分别为弹出登录提示和不弹出登录提示两种。弹出登录提示的情况下,用户确定后会向后台传入更多参数,例如用户昵称等。不弹出登录提示只能获取到用户的临时登录凭证code。主要根据第二种情况进行描述。 这个code具有时效性,能用于区

    2024年02月15日
    浏览(49)
  • 微信小程序 wx:if使用

    在微信小程序中,可以使用 wx:if 指令来控制某个元素是否需要被渲染到页面上。根据条件表达式的结果, wx:if 指令决定元素是否显示。 下面是使用 wx:if 的基本示例: 在上述代码中, wx:if 指令的值为一个条件表达式 {{condition}} ,根据该条件表达式的结果决定是否渲染 view 元

    2024年02月09日
    浏览(49)
  • 微信小程序本地存储(wx.setStorage)和(wx.setStorageSync)

     在微信小程序中,可以使用本地存储来保存一些数据比如用户状态,姓名,性别等; 本地存储主要包括两种方式:缓存和本地数据存储。 缓存 缓存是一种快速访问内存的临时存储机制,可以有效地提高应用程序的响应速度。在微信小程序中,可以使用 wx.setStorage 方法和

    2023年04月18日
    浏览(94)
  • 解决微信小程序数据渲染缓慢或卡顿的方法 (uniapp vue3)

    在微信小程序中渲染数据时通常会使用setData方法,但是setData对数据是有影响的,单次设置的数据不能超过1024kB,否则就会出现卡顿甚至有时会导致小程序闪退等现象。而我们平时在实现业务时,一般会采取数据分页而防止大量数据渲染导致小程序白屏/卡顿,例如在一些商城

    2024年02月08日
    浏览(82)
  • 微信小程序如何实现兼容----wx.getSystemInfoSync、 wx.getSystemInfo、wx.canIUse

    小程序的宿主环境一直在迭代更新,提供更多的能力给开发者去完成更多的事情,所以你的小程序会运行在不同版本的宿主环境下。为了让你的小程序在不同环境下都能提供相应的服务,我们需要来了解一下在小程序中如何实现兼容办法。 1.针对不同手机进行程序上的兼容

    2024年02月09日
    浏览(49)
  • 微信小程序wx:for 的使用以及wx:key绑定

    wx:for基本使用 wx:for-item和wx:for-index重新命名item和index wx:key两种绑定方式以及注意事项 wx:for基本使用 业务层数据 视图层 wx:for遍历时候每一项名称为 item 每一项索引名称为 index wx:for-item和wx:for-index实现item和index重命名 wx:for-item=\\\"str\\\" 将原来名称 item 修改成 str wx:for-index=\\\"i 将原来

    2024年02月11日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包