jQuery教程 标题、内容段末文本溢出“......”显示详解
沉沙 2018-09-05 来源 : 阅读 548 评论 0

摘要:本篇教程介绍了jQuery教程 标题、内容段末文本溢出“......”显示详解,希望阅读本篇文章以后大家有所收获,帮助大家对jQuery的理解更加深入。

本篇教程介绍了jQuery教程 标题、内容段末文本溢出“......”显示详解,希望阅读本篇文章以后大家有所收获,帮助大家对jQuery的理解更加深入。

<



 1 <!doctype html>
 2 <html>
 3 
 4     <head>
 5         <meta charset="utf-8">
 6         <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 7         <!--meta标签注释:如果安装了GCF,则使用GCF来渲染页面,如果为安装GCF,则使用最高版本的IE内核进行渲染。-->
 8         <title>文本溢出截取...</title>
 9         <link rel="stylesheet" href="css/min.css" /> <!--公共css样式-->
10         <link rel="stylesheet" href="css/index.css" />
11     </head>
12 
13     <body>
14         <h1>NO.1</h1>
15         <div class="main_one">
16             <p>
17                 生于蜂农之家的王佩甫先生,自小便追随父母辗转全国,天南海北,哪里花开,就往哪里赶。人在哪,家就在哪。追花虽辛苦,但对于养蜂人来说,苦尽甘来,收获琼浆,便能支撑起一家人的生活。 上世纪90年代,已深谙养蜂之道的王佩甫常骑着小车沿街兜售蜂蜜,后来在黔灵公园附近租了一个很小的门面落下了脚,渐渐有了回头客。1998年,王佩甫创办了贵州第一家公司化运营的蜂企业“百花蜂业”,并注册了品牌“黄果树蜂园”。
18             </p>
19         </div>
20         </br>
21         </br>
22         <h1>NO.2</h1>
23         <div class="main_ones">
24             <p>
25                 痛客网设立严格的准入规则,专人上门验证审核,并通过大数据背景调查,力保服务商信息真实可靠。全新的企业服务产品线涵盖办公司、找人财法、找技术、找市场、创新方案等5大类别、200多个细类,全方位满足企业各环节需求。 企业用户想要获取企业服务,只需要登录痛客网,就可以像在天猫购买商品一样,在痛客网上买服务! 目前,签约入驻痛客网的服务商已达到357家,其中不乏东软、用友、方正、财新、和君咨询、中细软、快法务、中青博联、埃摩森、泰和泰、法大大等品牌服务商。就在今天,同样都是为上班族解决痛点的痛客与ofo小黄车,要一起搞事情啦!
26             </p>
27         </div>
28         </br>
29         </br>
30         <h1>NO.3</h1>
31         <div class="main_onees">
32             <p>
33                 痛客×ofo | 90天单车免费骑!解决企业痛点,“骑”实可以很轻松!
34             </p>
35         </div>
36     </body>
37     <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
38     <script type="text/javascript" src="js/jquery-overflow.js" ></script>
39     <script type="text/javascript">
40         $('.main_one').ellipsis({
41             english: false, //布尔。英文模式字符偏小,需扩大筛选空间,实际源码中是通过此参数修改并覆盖OP_NUM;
42             lineNum: 2 //控制行数截取
43         });
44         $('.main_ones').ellipsis({
45             english: false, //布尔。英文模式字符偏小,需扩大筛选空间,实际源码中是通过此参数修改并覆盖OP_NUM;
46             lineNum: 2 //控制行数截取
47         });
48         $('.main_onees').ellipsis({
49             english: false, //布尔。英文模式字符偏小,需扩大筛选空间,实际源码中是通过此参数修改并覆盖OP_NUM;
50             lineNum: 1 //控制行数截取
51         });
52     </script>
53 
54 </html>

 
 
css代码

body {
    font: 12px/1.5 "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue";
}

.main_one p {
    width: 800px;
    text-indent: 20px;
    text-align: justify;
}

.main_ones {
    width: 500px;
    text-align: justify;
}

.main_onees {
    width: 605px;
    text-align: justify;
}

jquery-overflow.js代码

/**
 * jquery:2017-10-19
 * @version:1.0.1
 * @author:jason
 * @qq:847557896@qq.com
 */
(function($) {
    $.fn.ellipsis = function(options) {
        //插件参数
        options = $.extend({
            //英文模式
            english: false,
            //优化系数
            OP_NUM: 1.3, //数字。优化系数,一般不需要设置。默认1.3中文模式,1.3*2.5英文模式
            //目标行数
            lineNum: "",
        }, options);
        $(this).each(function(index, element) {
            //优化系数
            var OP_NUM = options.OP_NUM;
            //wrap
            var $wrap = $(this);
            //目标p
            var $p = $('p', $wrap);
            //行数
            var lineNum = options.lineNum;
            //最初整篇文章
            var originAll = $p.text();
            //字体大小
            var pFontSize = parseInt($p.css('font-size'));
            //行高
            var pLineHeight = parseInt($p.css('line-height'));
            // 过去宽度
            var oldWidth = $p.width();
            // 现在宽度
            var nowWidth = oldWidth;
            //根据行数设置wrap高度
            var wrapHeight = lineNum * pLineHeight;
            $wrap.height(wrapHeight);
            // 英文模式,字符偏多,系数*2.5
            OP_NUM = options.english ? 1.3 * 2.5 : 1.3;
            //首次加载先进行一次粗略筛选
            $p.text(originAll.slice(0, lineNum * nowWidth / pFontSize * OP_NUM));
            //主功能
            function render() {
                nowWidth = $p.width();
                //当页面放大时,粗略筛选
                if(nowWidth > oldWidth) {
                    $p.text(originAll.slice(0, lineNum * nowWidth / pFontSize * OP_NUM));
                }
                oldWidth = nowWidth;
                //核心筛选
                while($p.outerHeight() > wrapHeight) {
                    $p.text($p.text().replace(/\s?(\w+|\W{1,3})(\.{3})?$/, "..."));
                };
            }
            render();
        });
    };
})(jQuery);

   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标WEB前端jQuery频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程