javascript 实现文本使用省略号替代(超出固定高度的情况)

javascript 实现文本使用省略号替代

实现效果图:

如果图片不清晰,建议放大浏览器的尺寸进行查看

1.这里是配合jQuery来进行替换的,所以jquery还是必备的,毕竟是轻量级,而且对各大的浏览器兼容性也好。所以开始页面引入jquery文件。

2.在页面添加样式。

<style type="text/css">
    .text {
      background: #EEE;/*方便演示设置颜色*/
      /*width: 410px;*/
      height: 40px; /*高度是必须的,用来判断什么时候用...替代*/
      margin: 0;
      line-height: 20px;
      font-size: 14px;
    }
  </style>

3.我这里测试使用的文本内容如下,读者可以自行设置。

<div class="text">
    <p>
      www.nowcoder.com<br />

      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
    </p>
  </div>

  <div class="text">
    <p>
      www.nowcoder.com<br />
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
      <a href='http://www.nowcoder.com'>牛客网</a>良心网 程序员刷题必备网站
    </p>
  </div>

4.在页面的末尾部分加入如下js代码,在页面加载完毕后,进行换行操作。

<script type="text/javascript">
    $(document).ready(function () {
      wrapText();
    });
    function wrapText() {
      $(".text").each(function (i) {
        var divH = $(this).height();
        var $p = $("p", $(this)).eq(0);
        while ($p.outerHeight() > divH) {
          $p.text($p.text().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "..."));
        }
      });
    }
  </script>

需要注意的是上面的js代码使用的文本里面设置的class名称.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • js实现文字超出部分用省略号代替实例代码

    话不多说,我们直接看代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&

  • AngularJs实现分页功能不带省略号的代码

    angularJs 的分页重点体现在对 过滤器 的使用.这个过滤器也并不复杂. 首先上 html 代码: <!DOCTYPE html> <html ng-app="demoApp"> <head> <meta charset="utf-"> <meta name="viewport" content="width=device-width"> <title&g

  • 用客户端js实现带省略号的分页

    复制代码 代码如下: <script type="text/javascript"> $(function(){ var n =$('.fenye >ul li:nth-child').length var c=$(".fenye ul li").index($('.fenye ul li.thisclass')) var setp1=c var setp2=n-c; //后余 if(n>10){ if(c>2){ for (i=2;i

  • js下拉框里超过变成省略号

    我们 www.jb51.net js下拉框省略号 下拉框里的字太多了,下拉框会变长,然后把版面挤乱了,多余的如何显示成省略号? 或者限制住下拉框的跨度也行? style="width:100px;" 这种已经试过了,没用!/option> function cutOption(selectObj , length) { this.selectObj = selectObj; this.length = length; } cutOption.prototype.init = fu

  • js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例

    题目中问题一拆为二: 1.文字在超出长度时,如何实现用省略号代替? 2.超长长度的文字在省略显示后,如何在鼠标悬停时,以悬浮框的形式显示出全部信息? 文字在超出长度时,如何实现用省略号代替? 用CSS实现超长字段用省略号表示的方法:所有浏览器兼容! html代码如下: <div style="width:150px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis"> 用CSS实现超长字段被省略的简单方法

  • javascript超过容器后显示省略号效果的方法(兼容一行或者多行)

    javascript超过容器后显示省略号效果 在实际的项目中,由于文字内容的长度不确定性和页面布局的固定性,难免会出现文字内容超过div(或其他标签,下同)区域的情况,此时比较好的做法就是当文字超过限定的div宽度后自动以省略号(-)显示,这样,按照习惯,人们都会知道这儿有文字被省略了.css中有个属性叫做text-overflow:ellipsis;比如使用css可以这样写: {width:27em; white-space:nowrap; text-overflow:ellipsis; -o

  • javascript 实现文本使用省略号替代(超出固定高度的情况)

    javascript 实现文本使用省略号替代 实现效果图: 如果图片不清晰,建议放大浏览器的尺寸进行查看 1.这里是配合jQuery来进行替换的,所以jquery还是必备的,毕竟是轻量级,而且对各大的浏览器兼容性也好.所以开始页面引入jquery文件. 2.在页面添加样式. <style type="text/css"> .text { background: #EEE;/*方便演示设置颜色*/ /*width: 410px;*/ height: 40px; /*高度是必须

  • JavaScript获取文本框内选中文本的方法

    本文实例讲述了JavaScript获取文本框内选中文本的方法.分享给大家供大家参考.具体分析如下: 这里的代码可以用来获取用户通过鼠标在文本输入框或者textarea里选择的选本. 需要注意ie的问题. 代码如下: 复制代码 代码如下: <script type="text/javascript"> function getFieldSelection(select_field) {     word='';     if (document.selection) {   

  • JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法

    本文实例讲述了JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法.分享给大家供大家参考.具体如下: html代码: <form name="searchform" id="search-form"> <div> <b>Search</b> <input type="text" name="txtInput" title="Enter the t

  • 如何用javascript计算文本框还能输入多少个字符

    下面代码超简单,不多说了,直接上代码. //输入计数 //count:能輸入的數據總量 function Calculation(v, count) { var span = $(v).next(); var valLength = $(v).val().length; if (valLength > count) { $(v).val($(v).val().substr(0, count)); valLength = count; } span.text("您已輸入" + va

  • javascript取消文本选定的实现代码

    javascript选定文本取消, 能兼容所有主流浏览器了: 复制代码 代码如下: if (document.selection) { document.selection.empty(); } else if (window.getSelection) { window.getSelection().removeAllRanges(); } 对于文本框(input,textarea)中的文本选定取消, 这种方法会有一些问题. 不过也有办法, 记录下文本框中的value,再清空,再重新赋值. 方

  • javascript限制文本框输入值类型的方法

    本文实例讲述了javascript限制文本框输入值类型的方法.分享给大家供大家参考.具体分析如下: 要求:所有的文本框,只能输入数字和小数点,其他的符号一概不能输入: 重点是我希望在用户输入时就做限制,而不是提交时判断--也就是说如果用户在文本框内输入数字或小数点,可以正常输入:如果输入字母等非数字字符,则文本框会没有任何反应,不会显示输入的字符. <html> <body> <script> var s = "<input type=\"te

  • JavaScript 限制文本框不可输入英文单双引号的方法

    <input id="workname" style="width: 200px" name="workname" value="" type="text" onkeyup="JavaScript:replaceLikeVal(this)" /> 正则实现replaceAll: function replaceLikeVal(comp){ if (comp.value.ind

  • javascript设置文本框光标的方法实例小结

    本文实例总结了javascript设置文本框光标的方法.分享给大家供大家参考,具体如下: 对于text //得到光标位置 function getCaret(textbox) { var control = document.activeElement; textbox.focus(); var rang = document.selection.createRange(); rang.setEndPoint("StartToStart",textbox.createTextRange

  • javascript 双击文本框编辑功能代码

    javascript 双击文本框编辑功能代码 input.t {border:1px solid #fff;background:#fff;} input.s {border:1px solid #369;background:#fff;} var test = document.getElementById("test"); var mysubmit = document.getElementById("submit"); test.ondblclick = fu

  • JavaScript 控制文本框的值连续加减

    JavaScript控制文本框的值连续加减 var flag1=0; var flag2=0; function NumberInc() { if(flag1==1 && flag2==1) {alert("Error!");} else { if(flag1==1) { document.all.TextBox1.value++; setTimeout("NumberInc()",100); } if(flag2==1) { document.al

随机推荐