最近项目中遇到了一个关于超出一定字数用省略号显示的问题,其实这种形式很常见,公司简介、产品介绍啊里面都可能会用到,一行文字显示省略号很容易,多行就得想点办法了。在经过查阅、整理之后,我也算是实现了这个效果。

页面中原来的表现可能是这样的。

而我想把它变成这样

这里面发生了什么。。。

我赶紧来解释解释

我利用js获取了目标元素的文本长度,然后通过传参,给它一个需要对比的字数,如果内容比参数大,就截取从0到参数位置部分,显示在页面中。

像我这样记忆力不足的人还是需要烂笔头的帮助的,我会一步步的把步骤写下来,尽可能帮助自己理解记忆并且更希望帮助到看到这篇文章的人。

function wordlimit(cname,wordlength){//1.首先,定义函数,其中两个参数,参数一是目标元素,也就是需要显示省略号的那个元素;参数二是需要限制的字数。

var cname=document.getElementsByClassName(cname);//2.定义变量cname,即目标元素

  for(var i=0;i<cname.length;i++){//3.这里写了个循环,因为目标元素不止一个,之前找到一个通过获取id来截取字段实现效果的,但是如果目标元素有多个,id每个又不能相同,就显得麻烦了

    var nowLength=cname[i].innerHTML.length;//4.定义变量nowLength,里面存储的是每一个目标元素所包含的字数。

    if(nowLength>wordLength){//这里做一些判断,如果现在的每个目标元素里面的字数多于我们需要限制的字数

      cname[i].innerHTML=cname[i].substr(0,wordlength)+' . . . ';//每个目标元素的内容就会被改变为当前内容的字符长度从0开始然后一直截取到需要限制的字数位置。

    }

  } 

}

最后一步,调用函数。

wordlimit(core,10)

意思就是class为core的目标元素只显示10个字符,多余部分用省略号代替。

这样就写完了...虽然我也觉得比较简单,但毕竟是自己琢磨出来的成果,如果哪里写的不全面,欢迎来指正。

js实现多行文本超出一定字数显示省略号功能的更多相关文章

  1. 多行溢出隐藏显示省略号功能的JS实现

    在页面重构中,经常需要将过多的内容隐藏而显示部分.在单行文本中实现非常简单,但是在多行文本中,则需要根据实际选择不同的方式. 用CSS实现多行溢出隐藏的代码非常简单,但是兼容性也相对较低. displ ...

  2. CSS控制文本超出指定宽度显示省略号和文本不换行

    一般的文字截断(适用于内联与块): .text-overflow { display:block;/*内联对象需加 */ width:31em;/* 何问起 hovertree.com */ word ...

  3. js 控制超出字数显示省略号

    //多余显示省略号 function wordlimit(cname, wordlength) { var cname = document.getElementsByClassName(cname) ...

  4. 设置Div多行文本超出时,以省略号代替

    这个文章不错 http://www.css88.com/archives/5206 css中有一个属性: text-overflow,可以设置文本超出指定长度后的文本截取样式. 下面是从 w3shco ...

  5. 【css】 文本超出2行显示省略号

    首先,要知道css的三条属性. overflow:hidden; //超出的文本隐藏 text-overflow:ellipsis; //溢出用省略号显示 white-space:nowrap; // ...

  6. 用css实现文本不换行切超出限制时显示省略号(小tips)

    div{ max-width: 500px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;/*文本不换行*/ } 如上 ...

  7. css多行超出时,超出高度,显示省略号

    .layout display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;

  8. flutter实现文字超出最大宽度显示省略号

    Container( width: 60, child: Text( '...', maxLines: 1, overflow: TextOverflow.ellipsis, ), ) 给Text外层 ...

  9. css实现单行、多行文本超出显示省略号

    前言:项目中我们经常遇到这种需求,需要对单行.多行文本超出显示为省略号.这篇文章主要总结了小编解决此问题的方法,有不足之处欢迎大家指正. 单行文本省略 .ellipsis-line { border: ...

随机推荐

  1. Sparse Filtering

    Sparse Filtering 当前很多的特征学习(feature learning)算法需要很多的超参数(hyper-parameter)调节, Sparse Filtering则只需要一个超参数 ...

  2. ASP.NET Web API 2.0新特性:Attribute Routing1

    ASP.NET Web API 2.0新特性:Attribute Routing[上篇] 对于一个针对ASP.NET Web API的调用请求来说,请求的URL和对应的HTTP方法的组合最终决定了目标 ...

  3. IOS开发之路二十一(UIWebView加载本地html)

    挺简单不多说的直接代码: // // ViewController.h // JSAndJson // // Created by WildCat on 13-9-8. // Copyright (c ...

  4. java判断字符串是否为乱码

    项目中有一个功能 在IE中GET方式提交会产生乱码 但有两个入口都会走这同一段代码 固不能直接转码,所以要进行判断传过来的该值是不是乱码 可用以下方式验证: java.nio.charset.Char ...

  5. Combo模糊匹配中文问题

    茗洋Easy UI 1.3.2 部分问题解决系列专题[Combo模糊匹配中文问题 修复] 本次给大家带来的EasyUI的我研究拓展的新特性 我使用的是  EasyUI 1.3.2版本的,项目是ASP. ...

  6. Workflow:自定义工作流 之 模型选择

    Workflow:自定义工作流 之 模型选择 背景 毕业5年,做了4个版本的工作流框架,工作流几乎是每个企业应用开发人员必须跨过的门槛(我还没有跨过去),下面简要说一下之前的4个版本,然后重点介绍第5 ...

  7. linux下php-5.4.8.tar.gz编译安装全攻略

    首先安装基础依赖组建,注:这些依赖组建也是LINUX+PHP+MYSQL+APACHE+NGINX+MEMCACHED时必要的系统组件  LANG=C yum -y install gcc gcc-c ...

  8. Js-Html 前端系列--可伸缩菜单

    一个非常经典的Demo,自行开发可以扩展. <head> <title></title> <style type="text/css"&g ...

  9. BootStrap的菜单的快速创建

    在bootstrap的3.0版本及以上时,菜单的创建有所改变. 现在,我们只需记住3个类 dropdown open dropdown-menu. 前两个是为ul 列表的父元素用的,最后一个是给ul ...

  10. Symfony3 更改生成CRUD目录步骤

    ---恢复内容开始--- 今天是2017-01-16号,项目零零散散的进行着: 由于Symfony3生成的crud在app目录需要转移到相应的Budle下面,记录以下过程: 我使用的是Symfony3 ...