白衣染霜花
2023-04-05 22:18:11
現(xiàn)在使用的方法比較土鱉,每次都要用下面這句來(lái)實(shí)現(xiàn),if(string.length > 100) { string = string.substring(0,100)+"...";
}
3 回答

哆啦的時(shí)光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
你其實(shí)可以用css來(lái)實(shí)現(xiàn)這種效果的,這個(gè)比任何的js都要好的。代碼如下:
.overflowStringContainer{width:300px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}
text-overflow最初是IE的一個(gè)私有屬性,現(xiàn)在已經(jīng)被納入css3里面,截至2011.11.7,IE,firefox,Opera,safari,chrome的最新版本已經(jīng)都完全支持此屬性。

忽然笑
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
不知道你是不是說(shuō)每次都寫這一句很麻煩呀?
如果是的話你可以將截取單獨(dú)寫成函數(shù),需要的時(shí)候調(diào)用傳遞參數(shù)就可以了:
String.prototype.trunc = function(n){ return this.substr(0,n-1)+(this.length>n?'...':''); };
使用:
var s = 'hello everyone'; s.trunc(30); //=> hello everyone s.trunc(5); //=> hell...
不過(guò)這種方法經(jīng)常會(huì)把英文單詞掰壞,不能算智能,不知道有沒(méi)有人能改進(jìn)。

寶慕林4294392
TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
來(lái)個(gè)換湯不換藥的, 這種東東用 python 的切片操作就舒服了
var trim = function(str,limit){ return str[limit] ? [str.substring(0,limit),''].join('...') : str; }
添加回答
舉報(bào)
0/150
提交
取消