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


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 相关文章推荐
js随机颜色代码的多种实现方式
Apr 23 Javascript
node.js中的emitter.emit方法使用说明
Dec 10 Javascript
jQuery+AJAX实现无刷新下拉加载更多
Jul 03 Javascript
javascript实现移动端上的触屏拖拽功能
Mar 04 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
Jul 06 Javascript
jQuery实现两个select控件的互移操作
Dec 22 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
Dec 28 Javascript
Javascript实现时间倒计时效果
Jul 15 Javascript
ES6中let 和 const 的新特性
Sep 03 Javascript
小程序登录/注册页面设计的实现代码
May 24 Javascript
Vue中axios拦截器如何单独配置token
Dec 27 Javascript
JS相册图片抖动放大展示效果的示例代码
Jan 29 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 zend 相对路径问题
2009/01/12 PHP
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
ES6的新特性概览
2016/03/10 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
深入理解ES6学习笔记之块级作用域绑定
2017/08/19 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
Element Input组件分析小结
2018/10/11 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
《Python学习手册》学习总结
2018/01/17 Python
Python 使用PIL numpy 实现拼接图片的示例
2018/05/08 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
python调用百度REST API实现语音识别
2018/08/30 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
Python socket 套接字实现通信详解
2019/08/27 Python
python中class的定义及使用教程
2019/09/18 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
老师推荐信
2013/10/28 职场文书
报到证丢失证明
2014/01/11 职场文书
社区庆中秋节活动方案
2014/02/07 职场文书
安全生产中长期规划实施方案
2014/02/21 职场文书
初中生操行评语大全
2014/04/24 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
个人投资合作协议书
2014/10/12 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python