小程序实现展开/收起的效果示例


Posted in Javascript onSeptember 22, 2018

前言:本章说下文字内容的展开与收起的实现,要实现这么一个效果:当收起的时候隐藏并显示省略号,当展开的时候显示全部文字。

GitHub:https://github.com/Ewall1106/miniProgramDemo

先看下效果图:

小程序实现展开/收起的效果示例

小程序 — 展开/收起

1、结构样式

(1)首先我们定义一下html结构:

<view class="container">
 <view class="title">
  <text class="title_txt">标题标题</text>
  <image class="title_icon" src="/assets/images/arrow_up.png" />
 </view>
 <view class="content"> 
  我所有的自负皆来自我的自卑,所有的英雄气概都来自于我的软弱。嘴里振振有词是因为心里满是怀疑,深情是因为痛恨自己无情。这世界没有一件事情是虚空而生的,站在光里,背后就会有阴影,这深夜里一片寂静,是因为你还没有听见声音。
 </view>
</view>

内容摘抄至马良《告坦白书》中我一段喜欢的文字。

(2)less样式:

标题 title 就是一个简单的flex布局; 内容 content 中的文字我们默认收起状态且只展示两行

.container {
 .title {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 25rpx;
  .title_txt {
   font-size: 34rpx;
   color: #2b2b2b;
  }
  .title_icon {
   display: block;
   width: 21rpx;
   height: 11rpx;
  }
 }
 .content {
  height: 80rpx;
  overflow: hidden;
  text-overflow: ellipsis;
  text-overflow: -o-ellipsis-lastline;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  padding: 0 25rpx;
  font-size: 30rpx;
  color: #888888;
 }
}

(3)这样我们就实现了一个默认布局样式

小程序实现展开/收起的效果示例

收起状态

2、添加点击事件

(1)首先我们应该在 data 中定义一个变量 isShow 用来控制样式的切换,默认为收起状态(即不展示)。

data = {
 isShow: false
};

(2)在箭头icon上添加一个点击事件,当点击的时候对 isShow 做取反操作;

toggle() {
 this.isShow = !this.isShow;
 this.$apply();
}

3、样式动态切换

(1)首先是image箭头图片的切换(注意是如何动态的切换本地图片的)

<image class="title_icon" src="{{isShow ? '/assets/images/arrow_down.png' : '/assets/images/arrow_up.png'}}" @tap="toggle" />

(2)然后我们定义一个展开的样式,根据isShow的状态值动态的切换样式

<view class="content {{isShow ? 'on' : ''}}">
 我所有的自负皆来自我的自卑,所有的英雄气概都来自于我的软弱。嘴里振振有词是因为心里满是怀疑,深情是因为痛恨自己无情。这世界没有一件事情是虚空而生的,站在光里,背后就会有阴影,这深夜里一片寂静,是因为你还没有听见声音。
</view>

.content.on {
 display: block;
 text-overflow: clip;
 overflow: visible;
}

4、小结

这样我们就实现了文本框的展开/收起效果,当收起的时候显示省略号并隐藏,当展开的时候展示全部文字。

当然,不仅仅是文字的收起与展开,里面放其它的内容也是可以的,根据需求来应对了;还有就是可以加个动画之类的完善一下交互效果,感兴趣的朋友可以自己鼓捣。

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

Javascript 相关文章推荐
javascript cookie操作类的实现代码小结附使用方法
Jun 02 Javascript
html中table数据排序的js代码
Aug 09 Javascript
js自动查找select下拉的菜单并选择(示例代码)
Feb 26 Javascript
详解javascript实现瀑布流绝对式布局
Jan 29 Javascript
jQuery.form插件的使用及跨域异步上传文件
Apr 27 Javascript
深入理解Ajax的get和post请求
Jun 02 Javascript
jQuery模拟select实现下拉菜单功能
Jun 20 Javascript
基于node下的http小爬虫的示例代码
Jan 11 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
Jul 05 Javascript
vue实现表格过滤功能
Sep 27 Javascript
Vue toFixed保留两位小数的3种方式
Oct 23 Javascript
vue 实现element-ui中的加载中状态
Nov 11 Javascript
玩转vue的slot内容分发
Sep 22 #Javascript
vue 巧用过渡效果(小结)
Sep 22 #Javascript
vue forEach循环数组拿到自己想要的数据方法
Sep 21 #Javascript
vue2.x集成百度UEditor富文本编辑器的方法
Sep 21 #Javascript
vue中,在本地缓存中读写数据的方法
Sep 21 #Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
Sep 21 #Javascript
vue集成百度UEditor富文本编辑器使用教程
Sep 21 #Javascript
You might like
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
JavaScript多线程的实现方法
2007/05/08 Javascript
jQuery1.6 使用方法一
2011/11/23 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
vue v-on监听事件详解
2017/05/17 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
Python深入学习之装饰器
2014/08/31 Python
Python爬虫模拟登录带验证码网站
2016/01/22 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
python+requests接口自动化框架的实现
2020/08/31 Python
css3中新增的样式使用示例附效果图
2014/08/19 HTML / CSS
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
售后服务科岗位职责范文
2013/11/13 职场文书
酒店销售主管岗位职责
2014/01/04 职场文书
学生打架检讨书
2014/02/14 职场文书
爱的教育读书笔记
2015/06/26 职场文书
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python
html5实现点击弹出图片功能
2021/07/16 HTML / CSS
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers
python中validators库的使用方法详解
2022/09/23 Python