在显示新闻标题的时候,文字过长,怎么让超出的部分省略掉变成省略号?
在显示新闻标题的时候,文字过长,怎么让超出的部分省略掉变成省略号? 问题点数:10、回复次数:9Top
1 楼725137(2006年不会菜)回复于 2006-03-01 15:44:05 得分 2
定义一个长度嘛
Sting s="这是新闻标题哈哈哈哈哈哈哈哈";
int lengt=s.length();
if (int>10)
s=s.substring(0,10)+"...";
Top
2 楼alickma(零缺点)回复于 2006-03-01 15:46:53 得分 2
substring(int beginIndex, int endIndex)
Returns a new string that is a substring of this string.
用这个方法试下Top
3 楼gengtaoo()回复于 2006-03-01 15:56:56 得分 0
我忘记说了
条件是不在服务器端进行
用css或脚本怎么弄啊?
谢谢Top
4 楼buffoon(悠云[http://buffoon.blog.com.cn])回复于 2006-03-01 16:18:13 得分 2
刚好在人家blog(http://www.mysheji.com/blog/article.asp?id=304)上看到过
======
<%
function cLeft(str,n)
dim str1,str2,alln,Islefted
str2 = ""
alln = 0
str1 = str
Islefted = false
if isnull(str) then
cleft = ""
exit function
end if
for i = 1 to len(str1)
nowstr = mid(str1,i,1)
if asc(nowstr)<0 then
alln = alln + 2
else
alln = alln + 1
end if
if (alln<=n) then
str2 = str2 & nowstr
else
Islefted = true
exit for
end if
next
if Islefted then
str2 = str2 & ".."
end if
cleft = str2
end function
%>
======
不过不好意思,是VBS的Top
5 楼725137(2006年不会菜)回复于 2006-03-01 16:43:09 得分 4
脚本还是一样的道理嘛。。
<body onload="gai();">
<span id ="new1">我是新闻哈哈哈哈哈哈哈哈哈哈我行了吗</span>
<body>
<SCRIPT LANGUAGE="JavaScript">
function gai()
{
if (new1.innerText.length>10)
{
var s =new1.innerText.substring(0,10);
new1.innerText=s+"...";
}
}
</SCRIPT>
记得把你新闻的标题弄成<span>标签之间Top
6 楼maquan('ma:kju)回复于 2006-03-01 17:10:11 得分 0
我想追加一个问题。
如果这个“新闻标题”里面既有中文字符,又有英文字符或者数字(也就是所谓的半角字符),怎么才能保证固定的“显示宽度”呢?如果只截取固定的字符数是不行的。Top
7 楼universe01(未知软体)回复于 2006-03-01 21:30:48 得分 0
判断字符编码,可以做到!Top
8 楼maquan('ma:kju)回复于 2006-03-02 12:03:07 得分 0
universe01 的意思是,逐个字符遍历,判断它是全角还是半角,是这样吧?
这种方法大体上是可以,不过有几点不足,一个是看起来好像效率比较低,可能会影响性能;另一个,如果所使用的字体不是“定宽字体”的话,还是不能完全满足要求。
不过,也许这些要求有点过分了,呵呵。Top
9 楼gengtaoo()回复于 2006-03-02 14:27:06 得分 0
725137(2006年不会菜)
说的不错
谢谢Top




