最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

如何使用js來實現(xiàn)多行溢出隱藏功能

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 19:33:45
文檔

如何使用js來實現(xiàn)多行溢出隱藏功能

如何使用js來實現(xiàn)多行溢出隱藏功能:這篇文章主要介紹了關(guān)于如何使用js來實現(xiàn)多行溢出隱藏功能,有著一定的參考價值,現(xiàn)在分享給大家,有需要的朋友可以參考一下由于做移動端比較多,移動端對ellipsis這個css屬性的支持還算不錯,對-webkit-line-clamp的支持不一,特別是安卓機。查了查資料,發(fā)
推薦度:
導(dǎo)讀如何使用js來實現(xiàn)多行溢出隱藏功能:這篇文章主要介紹了關(guān)于如何使用js來實現(xiàn)多行溢出隱藏功能,有著一定的參考價值,現(xiàn)在分享給大家,有需要的朋友可以參考一下由于做移動端比較多,移動端對ellipsis這個css屬性的支持還算不錯,對-webkit-line-clamp的支持不一,特別是安卓機。查了查資料,發(fā)

這篇文章主要介紹了關(guān)于如何使用js來實現(xiàn)多行溢出隱藏功能,有著一定的參考價值,現(xiàn)在分享給大家,有需要的朋友可以參考一下

由于做移動端比較多,移動端對ellipsis這個css屬性的支持還算不錯,對-webkit-line-clamp的支持不一,特別是安卓機。
查了查資料,發(fā)現(xiàn)-webkit-line-clamp并不在css規(guī)范中。
那我們就嘗試手動實現(xiàn)一個,對外暴露接口去調(diào)用。

2種實現(xiàn)思路:

  • 定義行數(shù),展現(xiàn)該行數(shù)以內(nèi)的文字,隱藏超出行數(shù)的文字;

  • 定義總內(nèi)容的部分,展現(xiàn)該部分,隱藏超出該部分的文字;

  • 實現(xiàn)方式:

  • 模擬jQuery實現(xiàn)無new構(gòu)造去調(diào)用

  • 需要注意的是,對于文字內(nèi)容,css中務(wù)必設(shè)置文字的"行高"這個屬性。

    //調(diào)用方式:k('#p').ellipsistoText(3), k('#p').ellipsistoLine(2), k('#p').restoretoLine(), k('#p').restoretoText()
    (function () {
     var k = function (selector) {
     return new F(selector)
     }
     var F = function (selector) {
     this.ele = document.querySelector(selector);
     if (!this.ele.ori_height) {
     this.ele.ori_height = this.ele.offsetHeight; //用于保存原始高度
     }
     if (!this.ele.ori_html) {
     this.ele.ori_html = this.ele.innerHTML; //用于保存原始內(nèi)容
     }
     }
     F.prototype = {
     init: function () {
     this.ele.style.height = this.ele.ori_height;
     this.ele.innerHTML = this.ele.ori_html;
     },
     ellipsistoLine: function (l) {
     this.init();
     this.ele.style.cssText = 'overflow: hidden; height: ' + parseInt(window.getComputedStyle(this.ele)['line-height']) * l + 'px';
     },
     ellipsistoText: function (t) {
     this.init();
     var len = (this.ele.ori_html).length * (1/t);
     this.ele.innerHTML = this.ele.ori_html.substr(0, len);
     },
     restoretoLine: function () {
     this.ele.style.height = this.ele.ori_height + 'px';
     },
     restoretoText: function () {
     this.ele.innerHTML = this.ele.ori_html;
     }
     }
     window.k = k;
    })(window)

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    如何使用js來實現(xiàn)多行溢出隱藏功能

    如何使用js來實現(xiàn)多行溢出隱藏功能:這篇文章主要介紹了關(guān)于如何使用js來實現(xiàn)多行溢出隱藏功能,有著一定的參考價值,現(xiàn)在分享給大家,有需要的朋友可以參考一下由于做移動端比較多,移動端對ellipsis這個css屬性的支持還算不錯,對-webkit-line-clamp的支持不一,特別是安卓機。查了查資料,發(fā)
    推薦度:
    標(biāo)簽: 功能 隱藏 實現(xiàn)
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top