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 相关文章推荐
jQuery 学习 几种常用方法
Jun 11 Javascript
提高javascript效率 一次判断,而不要次次判断
Mar 30 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 Javascript
jquery中validate与form插件提交的方式小结
Mar 26 Javascript
微信小程序 教程之WXML
Oct 18 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
详解vue渲染函数render的使用
Dec 12 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
Dec 21 Javascript
JS实现面向对象继承的5种方式分析
Jul 21 Javascript
JavaScript键盘事件常见用法实例分析
Jan 03 Javascript
vue各种事件监听实例(小结)
Jun 24 Javascript
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
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在Web开发领域的优势
2006/10/09 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
php中动态调用函数的方法
2015/03/16 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
javascript EXCEL 操作类代码
2009/07/30 Javascript
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
JQueryEasyUI datagrid框架的进阶使用
2013/04/08 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
jQuery产品间断向下滚动效果核心代码
2014/05/08 Javascript
JS实现3D图片旋转展示效果代码
2015/09/22 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
详解VueRouter进阶之导航钩子和路由元信息
2017/09/13 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
Python变量和字符串详解
2017/04/29 Python
Python中偏函数用法示例
2018/06/07 Python
numpy中loadtxt 的用法详解
2018/08/03 Python
Python shelve模块实现解析
2019/08/28 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
2014年药店工作总结
2014/11/20 职场文书
闪闪红星观后感
2015/06/08 职场文书
redis限流的实际应用
2021/04/24 Redis