vue实现文章内容过长点击阅读全文功能的实例


Posted in Javascript onDecember 28, 2017

直接上代码:

html:

<div class="bodyFont clearfloat" id="bodyFont" ref="bodyFont" :class="{bodyHeight:contentStatus}">
  <div v-html="content"></div>
</div>
<div class="contentToggle" v-if="contentStatus" @click="contentStatus=!contentStatus">阅读全文</div>

css:

.bodyFont{
 .font-dpr(16px);
 color: #333;
 text-align: left;
 line-height:58px;
 word-break:break-all;
 word-wrap:break-word;
 padding-bottom: 30px;
 height:auto;
 overflow: hidden;
 max-height: 100%;
 p{margin:16px 0 0 0;}
 }
 .bodyHeight{
 height:5000px;
 }
 .contentToggle{
 height:60px;
 line-height:60px;
 text-align: center;
 color:@red;
 border:1px solid @red;
 border-radius: 5px;
 .font-dpr(14px);
 margin-bottom:30px;
 }

js:

data(){
 return { 
  contentStatus:false, 
  curHeight:0,
  bodyHeight:5000
 }
},
mounted(){
 setTimeout(()=>{
  this.contentToggle();
 },500)
 },
methods:{
 contentToggle(){
 this.curHeight=this.$refs.bodyFont.offsetHeight;
 if(this.curHeight>this.bodyHeight){
  this.contentStatus=true;
 }else{
  this.contentStatus=false;
 }
 },
}

效果如图:

vue实现文章内容过长点击阅读全文功能的实例

实现思路与注意的点:

1、获取内容的高度要等到dom加载完成之后,在mounted里加一个setTimeout函数,保证能真正获取到

2、当内容的高度高于自己设定的要展示的高度的时候,则只限定在自己要展示的高度中,加一个class解决,注意要overflow:hidden;

以上这篇vue实现文章内容过长点击阅读全文功能的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
Apr 27 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
Jul 26 Javascript
select标签模拟/美化方法采用JS外挂式插件
Apr 01 Javascript
jQuery对象的selector属性用法实例
Dec 27 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
Jan 20 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
Jun 05 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
Jan 29 Javascript
JavaScript重载函数实例剖析
May 13 Javascript
bootstrap导航条实现代码
Dec 28 Javascript
layui 阻止图片上传的实例(before方法)
Sep 26 Javascript
javascript实现时钟动画
Dec 03 Javascript
javascript实现简单留言板案例
Feb 09 Javascript
webpack搭建vue 项目的步骤
Dec 27 #Javascript
JS实现留言板功能[楼层效果展示]
Dec 27 #Javascript
js判断节假日实例代码
Dec 27 #Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
Dec 27 #Javascript
Angular实现的简单查询天气预报功能示例
Dec 27 #Javascript
Angular实现点击按钮后在上方显示输入内容的方法
Dec 27 #Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
Dec 27 #Javascript
You might like
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
php 自定义错误日志实例详解
2016/11/12 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
使用JavaScript破解web
2018/09/28 Javascript
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
python求斐波那契数列示例分享
2014/02/14 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
分析python动态规划的递归、非递归实现
2018/03/04 Python
python如何求解两数的最大公约数
2018/09/27 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
高级技校毕业生自荐信
2013/11/18 职场文书
管事部库房保管员岗位职责
2014/02/21 职场文书
2014年班干部工作总结
2014/11/25 职场文书
党性分析材料格式
2014/12/19 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
2015公司年度工作总结
2015/05/14 职场文书
青年联谊会致辞
2015/07/31 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
Python 中的 copy()和deepcopy()
2021/11/07 Python