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 小型打飞机游戏实现原理说明
Oct 28 Javascript
理解JavaScript中的对象 推荐
Jan 09 Javascript
使用jquery动态加载javascript以减少服务器压力
Oct 29 Javascript
JavaScript获取当前网页标题(title)的方法
Apr 03 Javascript
js实现无限级树形导航列表效果代码
Sep 23 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
Nov 17 Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 Javascript
如何在Angular2中使用jQuery及其插件的方法
Feb 09 Javascript
详解vue2.0组件通信各种情况总结与实例分析
Mar 22 Javascript
带你快速理解javascript中的事件模型
Aug 14 Javascript
微信小程序实现列表下拉刷新上拉加载
Jul 29 Javascript
关于vue的语法规则检测报错问题的解决
May 21 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
Javascript下的keyCode键码值表
2007/04/10 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
2018/04/25 Javascript
vue的for循环使用方法
2019/02/12 Javascript
vue.js中导出Excel表格的案例分析
2019/06/11 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
Python中除法使用的注意事项
2014/08/21 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
Pytorch之contiguous的用法
2019/12/31 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
英国度假别墅预订:Sykes Cottages
2017/06/12 全球购物
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
什么是事务?为什么需要事务?
2012/01/09 面试题
体育馆的标语
2014/06/24 职场文书
领导班子对照检查材料
2014/09/22 职场文书
中层干部考核评语
2015/01/04 职场文书
个人党性锻炼总结
2015/03/05 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
话题作文之自信作文
2019/11/15 职场文书
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL