1. 程式人生 > >利用js實現文字過多時隱藏部分文字

利用js實現文字過多時隱藏部分文字

    效果:當文字字數超過9個時,隱藏第九個字之後文字,使用“…顯示全部”的標籤代替。點選“…顯示全部”顯示所有文字資訊。“…顯示全部”變成“收起”。點選“收起”又變回9個字文字。
    原理:在一個名為fullText的div標籤中存放所有文字,在另一個名為subText的div標籤中存放9個字的文字,在一個a標籤中實現點選效果。頁面初識載入時,將要顯示的文字放入一個text變數中,將fullText的div的文字置為空,判斷text長度是否大於9,若大於9,在名為subText的div標籤中顯示前9個字的文字+“…顯示全部”。若不大於9,在subText顯示全部文字。
點選a標籤時,判斷a標籤的文字內容,若為“…顯示全部”,將text變數中的值賦給subText,並將a標籤改為”收起”。若a標籤中的內容為”收起”,將text變數的前9個值賦給subText並將a標籤改為“…顯示全部”。

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="GBK">
<title>隱藏功能</title>
</head>
<body>
<div id="d1"><div id="fullText">以前鏗鏘有力的靈魂之聲,不知道什麼時候,被默默沉寂在心底。渴望著黑夜裡,能有一雙巨大有力的手,將我的冰冷握緊。在這些安靜的日子裡,一個人無言無語,對著擱置了很久的書,認真的翻閱起來。裡面的一些話語,帶著禪意,讓人頓悟,豁然開明。</div
>
<div id="subText"></div><a id="btn" onclick="change()"></a></div> <script> var text; function show() { text = document.getElementById("fullText").innerHTML; document.getElementById("fullText").innerHTML = ""; document.getElementById("subText"
).style.float = "left"; document.getElementById("btn").style.float = "left"; if(text.length > 9) { document.getElementById("subText").innerHTML = text.substring(0, 9); document.getElementById("btn").innerHTML = "...顯示全部"; } else { document.getElementById("subText").innerHTML = text; document.getElementById("btn").innerHTML = ""; } } function change() { var t = document.getElementById("btn"); var tt = document.getElementById("subText"); if(t.innerHTML == "...顯示全部") { tt.innerHTML = text; t.innerHTML = "收起" } else { tt.innerHTML = text.substring(0, 9); t.innerHTML = "...顯示全部" } } show();
</script> </body> </html>