如何JS截取标题字数加省略号的方法
当文章标题字数长短不一样,在标题列表时就会出现一些布局上的问题,如过长的标题会以多行显示,破坏网页的美观性。因此在产生标题列表时可以对标题进行一定的处理,比如为每一行标题截取一定字数,而把后面的字用省略号表示。当然这只是JS的方法,还有CSS的方法等,下面介绍JS方法如下:
var sliceNewsTitle=function(obj, number){
var count = [];
var originalTitle = [];
var smallTitle = [];
for (var i = 0; obj[i]; i++) {
count[i] = 0.0;
originalTitle[i] = $.trim($(obj[i]).html());
for (var num = 0; num < originalTitle[i].length; num++) {
count[i] += originalTitle[i].charCodeAt(num) <= 128 ? 0.5 : 1;
}
count[i] = Math.round(count[i]);
if (count[i] < number) {
$(obj[i]).html(originalTitle[i]);
} else {
smallTitle[i] = originalTitle[i].substr(0, number - 1) + "...";
$(obj[i]).html(smallTitle[i]);
}
}
}
上述方法结合了jQuery中的一些选择器及trim()、html()方法,方法中的参数分别为标题列表中用标题的类名进行选择、要截取的字符数目。在截取前先进行一次计数,即将半角字符长度计为0.5,全角字符长度计为1,然后使用js的substr()方法进行截取。
上一条: 如何JS操作select控件大全代码
下一条: js回车提交表单|js表单回车提交按钮代码