javascript 一个自定义长度的文本自动换行的函数
javascript 一个自定义长度的文本自动换行的函数
发布时间:2016-12-30 来源:查字典编辑
摘要:很多朋友在制作网页过程中总是发现某些时候一些英文会把原来好好的表格撑开而导致变形,虽然可以使用style="table-layout:fix...

很多朋友在制作网页过程中总是发现某些时候一些英文会把原来好好的表格撑开而导致变形,虽然可以使用style="table-layout:fixed;word-wrap:break-word;word-break:break-all"来解决这个问题,但有些时候会导致内容显示不完整而被隐藏了起来,并没有做到自动换行的效果。

于是偶就想写一个这样的函数来修补这个缺陷,这个函数很简单,但这里只是提供一种思路来解决这个问题。

functionfnAddBr(id,iPerLineLen){.....}

id为要修改的文本块的id,iPerLineLen为每行的长度

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>

<title>UntitledDocument</title>

</head>

<body>

<scripttype="text/javascript">

//函数功能:在指定长度处自动添加换行符,以英文长度为准,及8代表8个英文或4个汉字

functionfnAddBr(id,iPerLineLen){

varsStr=document.getElementById(id).innerHTML;

if(sStr.replace(/[^x00-xff]/g,"xx").length<=iPerLineLen){

return-1;

}

varstr="";

varl=0;

varschar;

for(vari=0;schar=sStr.charAt(i);i++){

str+=schar;

l+=(schar.match(/[^x00-xff]/)!=null?2:1);

if(l>=iPerLineLen){

str+="<br/>n";

l=0;

}

}

document.getElementById(id).innerHTML=str;

}

</script>

<divid="content"style="border:1pxsolid#ccc">

我在做网页的时候添加的内容在生成网页后总是横向把表格撑的很宽,很难看;

我在加了

style="table-layout:fixed;word-wrap:break-word;word-break:break-all"

这个代码后,表格倒是不会撑宽了,可是内容又显示不完全了,只是显示表格一样的宽度的内容,其他的被遮挡或是过滤掉了。

我的是汉字,这个有关系吗?

请问有什么方法可以让在表格中的文字到多少字的时候就自动换一行?或是能换行又不撑大表格,而且不略去内容!

我的内容是在动易中调用的这个标签!

</div>

<divid="content1"style="border:1pxsolid#ccc">

我在做网页的时候添加的内容在生成网页后总是横向把表格撑的很宽,很难看;

我在加了

style="table-layout:fixed;word-wrap:break-word;word-break:break-all"

这个代码后,表格倒是不会撑宽了,可是内容又显示不完全了,只是显示表格一样的宽度的内容,其他的被遮挡或是过滤掉了。

我的是汉字,这个有关系吗?

请问有什么方法可以让在表格中的文字到多少字的时候就自动换一行?或是能换行又不撑大表格,而且不略去内容!

我的内容是在动易中调用的这个标签!

</div>

<scripttype="text/javascript">

fnAddBr("content",25);

fnAddBr("content1",50);

</script>

</body>

</html>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类