javascript 一個(gè)自定義長(zhǎng)度的文本自動(dòng)換行的函數(shù)
更新時(shí)間:2007年08月19日 12:36:57 作者:
很多朋友在制作網(wǎng)頁(yè)過(guò)程中總是發(fā)現(xiàn)某些時(shí)候一些英文會(huì)把原來(lái)好好的表格撐開(kāi)而導(dǎo)致變形,雖然可以使用style="table-layout:fixed;word-wrap:break-word;word-break:break-all" 來(lái)解決這個(gè)問(wèn)題,但有些時(shí)候會(huì)導(dǎo)致內(nèi)容顯示不完整而被隱藏了起來(lái),并沒(méi)有做到自動(dòng)換行的效果。
于是偶就想寫(xiě)一個(gè)這樣的函數(shù)來(lái)修補(bǔ)這個(gè)缺陷,這個(gè)函數(shù)很簡(jiǎn)單,但這里只是提供一種思路來(lái)解決這個(gè)問(wèn)題。
function fnAddBr(id, iPerLineLen){.....}
id為要修改的文本塊的id,iPerLineLen為每行的長(zhǎng)度
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript">
//函數(shù)功能:在指定長(zhǎng)度處自動(dòng)添加換行符,以英文長(zhǎng)度為準(zhǔn),及8代表8個(gè)英文或4個(gè)漢字
function fnAddBr(id, iPerLineLen){
var sStr=document.getElementById(id).innerHTML;
if(sStr.replace(/[^\x00-\xff]/g,"xx").length <= iPerLineLen){
return -1;
}
var str="";
var l=0;
var schar;
for(var i=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>
<div id="content" style="border:1px solid #ccc">
我在做網(wǎng)頁(yè)的時(shí)候添加的內(nèi)容在生成網(wǎng)頁(yè)后總是橫向把表格撐的很寬,很難看;
我在加了
style="table-layout:fixed;word-wrap:break-word;word-break:break-all"
這個(gè)代碼后,表格倒是不會(huì)撐寬了,可是內(nèi)容又顯示不完全了,只是顯示表格一樣的寬度的內(nèi)容,其他的被遮擋或是過(guò)濾掉了。
我的是漢字,這個(gè)有關(guān)系嗎?
請(qǐng)問(wèn)有什么方法可以讓在表格中的文字到多少字的時(shí)候就自動(dòng)換一行?或是能換行又不撐大表格,而且不略去內(nèi)容!
我的內(nèi)容是在動(dòng)易中調(diào)用的這個(gè)標(biāo)簽!
</div>
<div id="content1" style="border:1px solid #ccc">
我在做網(wǎng)頁(yè)的時(shí)候添加的內(nèi)容在生成網(wǎng)頁(yè)后總是橫向把表格撐的很寬,很難看;
我在加了
style="table-layout:fixed;word-wrap:break-word;word-break:break-all"
這個(gè)代碼后,表格倒是不會(huì)撐寬了,可是內(nèi)容又顯示不完全了,只是顯示表格一樣的寬度的內(nèi)容,其他的被遮擋或是過(guò)濾掉了。
我的是漢字,這個(gè)有關(guān)系嗎?
請(qǐng)問(wèn)有什么方法可以讓在表格中的文字到多少字的時(shí)候就自動(dòng)換一行?或是能換行又不撐大表格,而且不略去內(nèi)容!
我的內(nèi)容是在動(dòng)易中調(diào)用的這個(gè)標(biāo)簽!
</div>
<script type="text/javascript">
fnAddBr("content",25);
fnAddBr("content1",50);
</script>
</body>
</html>
于是偶就想寫(xiě)一個(gè)這樣的函數(shù)來(lái)修補(bǔ)這個(gè)缺陷,這個(gè)函數(shù)很簡(jiǎn)單,但這里只是提供一種思路來(lái)解決這個(gè)問(wèn)題。
function fnAddBr(id, iPerLineLen){.....}
id為要修改的文本塊的id,iPerLineLen為每行的長(zhǎng)度
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript">
//函數(shù)功能:在指定長(zhǎng)度處自動(dòng)添加換行符,以英文長(zhǎng)度為準(zhǔn),及8代表8個(gè)英文或4個(gè)漢字
function fnAddBr(id, iPerLineLen){
var sStr=document.getElementById(id).innerHTML;
if(sStr.replace(/[^\x00-\xff]/g,"xx").length <= iPerLineLen){
return -1;
}
var str="";
var l=0;
var schar;
for(var i=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>
<div id="content" style="border:1px solid #ccc">
我在做網(wǎng)頁(yè)的時(shí)候添加的內(nèi)容在生成網(wǎng)頁(yè)后總是橫向把表格撐的很寬,很難看;
我在加了
style="table-layout:fixed;word-wrap:break-word;word-break:break-all"
這個(gè)代碼后,表格倒是不會(huì)撐寬了,可是內(nèi)容又顯示不完全了,只是顯示表格一樣的寬度的內(nèi)容,其他的被遮擋或是過(guò)濾掉了。
我的是漢字,這個(gè)有關(guān)系嗎?
請(qǐng)問(wèn)有什么方法可以讓在表格中的文字到多少字的時(shí)候就自動(dòng)換一行?或是能換行又不撐大表格,而且不略去內(nèi)容!
我的內(nèi)容是在動(dòng)易中調(diào)用的這個(gè)標(biāo)簽!
</div>
<div id="content1" style="border:1px solid #ccc">
我在做網(wǎng)頁(yè)的時(shí)候添加的內(nèi)容在生成網(wǎng)頁(yè)后總是橫向把表格撐的很寬,很難看;
我在加了
style="table-layout:fixed;word-wrap:break-word;word-break:break-all"
這個(gè)代碼后,表格倒是不會(huì)撐寬了,可是內(nèi)容又顯示不完全了,只是顯示表格一樣的寬度的內(nèi)容,其他的被遮擋或是過(guò)濾掉了。
我的是漢字,這個(gè)有關(guān)系嗎?
請(qǐng)問(wèn)有什么方法可以讓在表格中的文字到多少字的時(shí)候就自動(dòng)換一行?或是能換行又不撐大表格,而且不略去內(nèi)容!
我的內(nèi)容是在動(dòng)易中調(diào)用的這個(gè)標(biāo)簽!
</div>
<script type="text/javascript">
fnAddBr("content",25);
fnAddBr("content1",50);
</script>
</body>
</html>
您可能感興趣的文章:
- CSS控制文本自動(dòng)換行的問(wèn)題
- javascript實(shí)現(xiàn)的一個(gè)自定義長(zhǎng)度的文本自動(dòng)換行的函數(shù)。
- print不自動(dòng)換行,puts會(huì)自動(dòng)換行
- 多瀏覽器支持CSS 容器內(nèi)容超出(溢出)支持自動(dòng)換行
- Discuz 公告效果(自動(dòng)換行,無(wú)間隙滾動(dòng))
- Eclipse 格式化代碼時(shí)不換行與自動(dòng)換行的實(shí)現(xiàn)方法
- Flex Label自動(dòng)截取、自動(dòng)換行代碼
- ASP.NET Datagridview自動(dòng)換行的小例子
- js實(shí)現(xiàn)連續(xù)英文字符自動(dòng)換行兼容ie6 ie7和firefox
- JavaMe開(kāi)發(fā)繪制可自動(dòng)換行文本
相關(guān)文章
JavaScript canvas基于數(shù)組生成柱狀圖代碼實(shí)例
這篇文章主要介紹了JavaScript canvas基于數(shù)組生成柱狀圖代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
input禁止鍵盤(pán)及中文輸入,但可以點(diǎn)擊
這篇文章主要介紹了<input>禁止鍵盤(pán)及中文輸入,但可以點(diǎn)擊。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02
vue 集成騰訊地圖實(shí)現(xiàn)api(附DEMO)
之前項(xiàng)目使用騰訊地圖,不利于開(kāi)發(fā)者查找,這篇文章主要介紹了vue 集成騰訊地圖實(shí)現(xiàn)api,具有一定的參考價(jià)值,感興趣的可以了解下2021-07-07
利用JS測(cè)試目標(biāo)網(wǎng)站的打開(kāi)響應(yīng)速度
本文簡(jiǎn)單說(shuō)明利用JS來(lái)測(cè)試目標(biāo)網(wǎng)站的打開(kāi)響應(yīng)速度,方法簡(jiǎn)單明了大家一看就明白并附上了腳本源碼2017-12-12

