js实现文字截断功能


Posted in Javascript onSeptember 14, 2016

先前用jq做了一个文字截断功能,但是不用jq的项目要实现此功能还要引如jq显得过于麻烦。这里写了一个js的文字截断功能。直接上代码。 

HTML(测试用的): 

<div>我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div limit="10" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div limit="5" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div limit="2" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div limit="20" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div limit="100" >我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>
<div>我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox我是pox</div>

JS: 

var limit=[];
    var Text=[];
    var Pox=document.getElementsByTagName('*');
    for(var i=0;i<Pox.length;i++){
     if(Pox[i].getAttribute("limit")){
      limit[i]=Pox[i].getAttribute("limit");
      Text[i]=Pox[i].innerHTML;
      if(limit[i]<Text[i].length){
       Pox[i].innerHTML=Text[i].substring(0,limit[i])+"...";
      }
     }
    }

这里用getElementsByTagName获取所有节点遍历,if(Pox[i].getAttribute("limit"))筛选含有limit这个自定义属性的节点,然后获取各个节点自定义属性limit的值,将其放入limit数组中,把各个节点文字放入Text数组中,将需要截断的值和文本长度作比较,进行截断。 

全部JS,这里写的自调:

<script type="text/javascript">
 window.onload=function(){
  (function limit(){
   var limit=[];
    var Text=[];
    var Pox=document.getElementsByTagName('*');
    for(var i=0;i<Pox.length;i++){
     if(Pox[i].getAttribute("limit")){
      limit[i]=Pox[i].getAttribute("limit");
      Text[i]=Pox[i].innerHTML;
      if(limit[i]<Text[i].length){
      Pox[i].innerHTML=Text[i].substring(0,limit[i])+"...";
      }
     }
    } 
   }());
   }
</script>

效果图:

js实现文字截断功能

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

Javascript 相关文章推荐
Javascript技术技巧大全(五)
Jan 22 Javascript
JavaScript 小型打飞机游戏实现原理说明
Oct 28 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
Sep 02 Javascript
用按钮控制iframe显示的网页实现方法
Feb 04 Javascript
jQuery替换字符串(实例代码)
Nov 13 Javascript
从零学JS之你需要了解的几本书
May 19 Javascript
JavaScript多并发问题如何处理
Oct 28 Javascript
Vue2.0 多 Tab切换组件的封装实例
Jul 28 Javascript
vue项目部署上线遇到的问题及解决方法
Jun 10 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
Aug 13 Javascript
解决vue watch数据的方法被调用了两次的问题
Nov 07 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
Jan 28 Javascript
jQuery版AJAX简易封装代码
Sep 14 #Javascript
原生JS实现首页进度加载动画
Sep 14 #Javascript
jquery判断iPhone、Android设备类型
Sep 14 #Javascript
Angularjs 实现分页功能及示例代码
Sep 14 #Javascript
Angularjs CURD 详解及实例代码
Sep 14 #Javascript
Angular Module声明和获取重载实例代码
Sep 14 #Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
Sep 14 #Javascript
You might like
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
2015/07/01 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
Yii核心验证器api详解
2016/11/23 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
原生js生成图片验证码
2020/10/11 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
[50:15]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python实现图片文件批量重命名
2020/03/23 Python
浅析Python四种数据类型
2018/09/26 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
python多线程同步之文件读写控制
2021/02/25 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
Django权限控制的使用
2021/01/07 Python
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
个人自我鉴定
2013/11/07 职场文书
中英文自我评价常用句型
2013/12/19 职场文书
年度考核自我评价
2014/01/25 职场文书
行政工作试用期自我评价
2014/09/14 职场文书
使用Ajax实现进度条的绘制
2022/04/07 Javascript
Python简易开发之制作计算器
2022/04/28 Python