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 相关文章推荐
Ext JS Grid在IE6 下宽度的问题解决方法
Feb 15 Javascript
javascript 子窗体父窗体相互传值方法
May 31 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
Jan 06 Javascript
jquery attr方法获取input的checked属性问题
May 26 Javascript
javascript实现左右控制无缝滚动
Dec 31 Javascript
深入浅析search 搜索框的写法
Aug 02 Javascript
Jquery遍历select option和添加移除option的实现方法
Aug 26 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
Mar 21 Javascript
微信小程序 蓝牙的实现实例代码
Jun 27 Javascript
基于twbsPagination.js分页插件使用心得(分享)
Oct 21 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
Dec 19 Javascript
vue的安装及element组件的安装方法
Mar 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初学者最感迷茫的问题小结
2010/03/27 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
php处理json格式数据经典案例总结
2016/05/19 PHP
学习YUI.Ext第七日-View&amp;JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
jupyter notebook清除输出方式
2020/04/10 Python
python开发入门——列表生成式
2020/09/03 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
linux面试题参考答案(6)
2014/08/29 面试题
给全校老师的建议书
2014/03/13 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
护士个人年终总结
2015/02/13 职场文书
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL
python实现学员管理系统(面向对象版)
2022/06/05 Python
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android