现在使用的方法比较土鳖,每次都要用下面这句来实现,if(string.length > 100) { string = string.substring(0,100)+"...";
}
3 回答
![?](http://img1.sycdn.imooc.com/5458477300014deb02200220-100-100.jpg)
哆啦的时光机
TA贡献1779条经验 获得超6个赞
你其实可以用css来实现这种效果的,这个比任何的js都要好的。代码如下:
.overflowStringContainer{width:300px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}
text-overflow最初是IE的一个私有属性,现在已经被纳入css3里面,截至2011.11.7,IE,firefox,Opera,safari,chrome的最新版本已经都完全支持此属性。
![?](http://img1.sycdn.imooc.com/54584dad0001dd7802200220-100-100.jpg)
忽然笑
TA贡献1806条经验 获得超5个赞
不知道你是不是说每次都写这一句很麻烦呀?
如果是的话你可以将截取单独写成函数,需要的时候调用传递参数就可以了:
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...
不过这种方法经常会把英文单词掰坏,不能算智能,不知道有没有人能改进。
![?](http://img1.sycdn.imooc.com/5333a207000118af02200220-100-100.jpg)
宝慕林4294392
TA贡献2021条经验 获得超8个赞
来个换汤不换药的, 这种东东用 python 的切片操作就舒服了
var trim = function(str,limit){ return str[limit] ? [str.substring(0,limit),''].join('...') : str; }
添加回答
举报
0/150
提交
取消