微信小程序实现折叠展开效果


Posted in Javascript onJuly 19, 2018

本文实例为大家分享了微信小程序实现折叠展开效果的具体代码,供大家参考,具体内容如下

wxml:

<view class="page">
<!-- 总数 -->
<view class="li" bindtap='changeToggle'>
<view class="left">总数</view>
<view class="right gray" >8</view>
</view>

<!--分类 -->
<view class="li" data-index="0" bindtap='changeToggle'>
<view class="left">类别1</view>
<view class="right">3 <text class="iconfont {{selectedFlag[0]?'icon-shangjiantou':'icon-xiala'}}"> </text>
  </view>
 </view>
 <view hidden="{{!selectedFlag[0]}}">
 <block wx:for="{{list01}}" wx:for-item="item" wx:for-index="index">
  <view class="li bg-gray">
  <view>展开1</view>
  </view>
 </block>
 </view>

 <view class="li" data-index="1" bindtap='changeToggle'>
 <view class="left">类别2</view>
 <view class="right">0
  <text class="iconfont {{selectedFlag[1]?'icon-shangjiantou':'icon-xiala'}}"> </text>
 </view>
 </view>
 <view hidden="{{!selectedFlag[1]}}">
 <block wx:for="{{list02}}" wx:for-item="item" wx:for-index="index">
  <view class="li bg-gray">
  <view>展开2</view>

  </view>
 </block>
 </view>

 <view class="li" data-index="2" bindtap='changeToggle'>
 <view class="left">类别3</view>
 <view class="right red">2
  <text class="iconfont {{selectedFlag[2]?'icon-shangjiantou':'icon-xiala'}}"> </text>
 </view>
 </view>
 <view hidden="{{!selectedFlag[2]}}">
 <block wx:for="{{list03}}" wx:for-item="item" wx:for-index="index">
  <view class="li bg-gray">
  <view>展开3</view>

  </view>
 </block>
 </view>


 <view class="li" data-index="3" bindtap='changeToggle'>
 <view class="left">类别4</view>
 <view class="right red">3
  <text class="iconfont {{selectedFlag[3]?'icon-shangjiantou':'icon-xiala'}}"> </text>
 </view>
 </view>
 <view hidden="{{!selectedFlag[3]}}">
 <block wx:for="{{list04}}" wx:for-item="item" wx:for-index="index">
  <view class="li bg-gray">
  <view>展开4</view>
  <view class="red">展开4右边</view>
  </view>
 </block>
 </view>

wxss:

/* 列表详情 */

.li {
 background-color: #fff;
 display: flex;
 justify-content: space-between;
 font-size: 34rpx;
 width: 92%;
 padding: 0 4%;
 height: 100rpx;
 line-height: 100rpx;
 border-bottom: 1rpx solid #f1f1f1;
}
.bg-gray{
 background-color: #ccc!important;
 border-bottom: 1rpx solid #fff!important;
}

.li .icon-xiala ,.icon-shangjiantou {
 color: #999;
 font-size: 28rpx;
}

.gray {
 color: #8e8e8e;
}

.red {
 color: #fe2e2e;
}

js:

Page({
 data: {

 list01: [
  { item_id: 1 }, { item_id: 11 }, { item_id: 11 },
 ],
 list02: [

 ],
 list03: [
  { item_id: 11 }, { item_id: 11 }
 ],
 list04: [
  { item_id: 11 }, { item_id: 11 }, { item_id: 11 }
 ],

 // 展开折叠
 selectedFlag: [false, false, false, false],

 },
 // 展开折叠选择 
 changeToggle:function(e){
 var index = e.currentTarget.dataset.index;
 if (this.data.selectedFlag[index]){
  this.data.selectedFlag[index] = false;
 }else{
  this.data.selectedFlag[index] = true;
 }

 this.setData({
  selectedFlag: this.data.selectedFlag
 })
 },

})

效果图,手风琴效果:

微信小程序实现折叠展开效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 获取Listbox选择的值的代码
Apr 15 Javascript
jQuery find和children方法使用
Jan 31 Javascript
jqPlot 基于jquery的画图插件
Apr 26 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
Apr 12 Javascript
jQuery封装的tab选项卡插件分享
Jun 16 Javascript
jquery实现标题字体变换的滑动门菜单效果
Sep 07 Javascript
bootstrap输入框组代码分享
Jun 07 Javascript
深入剖析JavaScript面向对象编程
Jul 12 Javascript
JavaScript html5利用FileReader实现上传功能
Mar 27 Javascript
js使用文件流下载csv文件的实现方法
Jul 15 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
Aug 29 Javascript
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
详解Angularjs 自定义指令中的数据绑定
Jul 19 #Javascript
微信小程序实现天气预报功能
Jul 18 #Javascript
vue代理和跨域问题的解决
Jul 18 #Javascript
小程序自定义组件实现城市选择功能
Jul 18 #Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
Jul 18 #Javascript
微信小程序项目实践之主页tab选项实现
Jul 18 #Javascript
详解性能更优越的小程序图片懒加载方式
Jul 18 #Javascript
You might like
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
php使用异或实现的加密解密实例
2013/09/04 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
js 弹出菜单/窗口效果
2011/10/30 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
JS开发 富文本编辑器TinyMCE详解
2019/07/19 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
Webpack3+React16代码分割的实现
2021/03/03 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python实现学校管理系统
2018/01/11 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
python多线程扫描端口(线程池)
2019/09/04 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
爱游人:Travelliker
2017/09/05 全球购物
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
工地门卫岗位职责
2013/12/30 职场文书
全陪导游欢迎词
2014/01/17 职场文书
文明村镇申报材料
2014/05/06 职场文书
民主生活会剖析材料
2014/09/30 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
小学语文教师研修日志
2015/11/13 职场文书
MySQL数据库必备之条件查询语句
2021/10/15 MySQL