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


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 相关文章推荐
jQuery源码分析-03构造jQuery对象-工具函数
Nov 14 Javascript
瀑布流布局并自动加载实现代码
Mar 12 Javascript
javascript中的delete使用详解
Apr 11 Javascript
jquery 页面滚动到底部自动加载插件集合
Jan 31 Javascript
JavaScript类型系统之基本数据类型与包装类型
Jan 06 Javascript
Vue.js实现文章评论和回复评论功能
May 30 Javascript
Angular 1.x个人使用的经验小结
Jul 19 Javascript
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
Oct 19 jQuery
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
JS随机数产生代码分享
Feb 24 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
Jul 27 Javascript
vue-router 路由传参用法实例分析
Mar 06 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 print EOF实现方法
2009/05/21 PHP
phalcon框架使用指南
2016/02/23 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
JavaScript的public、private和privileged模式
2009/12/28 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
python改变日志(logging)存放位置的示例
2014/03/27 Python
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
实例讲解python中的协程
2018/10/08 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
python学生管理系统学习笔记
2019/03/19 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
python中使用while循环的实例
2019/08/05 Python
TensorFlow实现从txt文件读取数据
2020/02/05 Python
python输出pdf文档的实例
2020/02/13 Python
Python yield的用法实例分析
2020/03/06 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
什么是TCP/IP
2014/07/27 面试题
无故旷工检讨书
2014/01/26 职场文书
机关会计岗位职责
2014/04/08 职场文书
新党章心得体会
2014/09/04 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
感谢信的格式
2015/01/21 职场文书
离婚协议书的范本
2015/01/27 职场文书
社区法制宣传月活动总结
2015/05/07 职场文书
观看建国大业观后感
2015/06/01 职场文书
心理学培训心得体会
2016/01/22 职场文书
《秋思》教学反思
2016/02/23 职场文书
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python