JavaScript段落展開收起效果
本章節分享一段程式碼例項,它實現了段落的展開和收起的效果。
通常用於解決大段落文字佔用空間過多。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> #box { width: 280px; border: #999 1px solid; padding: 10px; } p { line-height: 24px; } a { color: #096; cursor: pointer; } </style> <script> window.onload = function () { textShow(box, 30) } function textShow(obj, num) { var oSpan = obj.getElementsByTagName("span")[0]; var oA = obj.getElementsByTagName("a")[0]; var str = oSpan.innerHTML; var onOff = true; oSpan.innerHTML = str.substring(0, num); oA.onclick = function () { if (onOff) { oSpan.innerHTML = str; oA.innerHTML = "收起"; } else { oSpan.innerHTML = str.substring(0, num); oA.innerHTML = "...展開"; } onOff = !onOff; } } </script> </head> <body> <div id="box"> <p> <span>螞蟻部落歡迎您,本站的url地址是www.softwhy.com,隨時提供有益的建議和意見</span> <a>展開..</a> </p> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload = function () {},當文件內容完全載入完畢再去執行函式中的程式碼。
(2).textShow(box, 30),此函式的功能在下面會介紹。
(3).function textShow(obj, num) {},此函式實現了展開收起功能,第一個引數是是元素物件,這裡是div元素的id屬性值,id屬性值可以直接作為物件使用,第二個引數規定顯示的字元數量,超出的用省略號替代。
(4).var oSpan = obj.getElementsByTagName("span")[0],獲取span元素集合中的第一個span元素物件。
(5).var oA = obj.getElementsByTagName("a")[0],獲取連結a元素集合中的第一個a元素物件。
(6).var str = oSpan.innerHTML,將span元素中html內容賦值給變數str,暫時儲存起來。
(7).var onOff = true,宣告一個變數並賦值為true,作為一個標識。
(8). oSpan.innerHTML = str.substring(0, num),將擷取指定長度的html內容寫入span元素中。
(9). oA.onclick = function () {},為連結a元素註冊onclick事件處理函式。
(10).if (onOff) {
oSpan.innerHTML = str;
oA.innerHTML = "收起";
},如果onOff等於true。
那麼就將oA的html內容設定為str。
同時連結a元素的html內容設定為"收起"。
(11).else { oSpan.innerHTML = str.substring(0, num);
oA.innerHTML = "展開...";
},否則的話,span元素的內容設定為擷取後的html字串。
並且將連結a的html設定為"展開..."。
(12).onOff = !onOff,取反。
二.相關閱讀:
(1).getElementsByTagName()參閱document.getElementsByTagName()一章節。
(2).innerHTML參閱innerHTML一章節。
(3).substring()參閱javascript substring()一章節。
相關文章
- vue實現展開全部,收起全部Vue
- 文字超長,實現展開收起功能...
- 文章點選展開和收起詳解
- 基於JQuery的自定義樹形選單表格,實現展開、收起效果jQuery
- 影片直播APP原始碼,透過css控制div內容展開更多/收起效果APP原始碼CSS
- iOS tableviewcell裡點選文字展開與收起功能iOSView
- jQuery點選展開收起程式碼例項jQuery
- JavaScript 檢視全文和收起JavaScript
- div以滑動方式展開和收起程式碼
- JavaScript點選div塊展開和收縮效果詳解JavaScript
- jquery 設定百度商橋預設收起不展開jQuery
- 點選右則剪頭展開和收起頁面選單
- iOS閱讀類需求 展開 收起章節 卡頓解決辦法iOS
- JavaScript 展開運算子JavaScript
- Android自定義View——從零開始實現可展開收起的水平選單欄AndroidView
- HTML 段落HTML
- 突發奇想!藉助CSS自定義彩色字型來實現多行文字展開收起CSS
- javascript點選元素實現當前輪換展現效果JavaScript
- jquery外掛:仿百度首頁可展開收起的訊息提示控制元件jQuery控制元件
- JavaScript拖拽效果JavaScript
- 安卓開發 點選空白處收起鍵盤安卓
- CSS段落開頭縮排兩個漢字CSS
- JavaScript 秒錶效果JavaScript
- JavaScript抖動效果JavaScript
- JavaScript元素動畫效果JavaScript動畫
- javascript瀑布流效果JavaScript
- HTML————6、HTML 段落HTML
- HTML 段落簡介HTML
- jQuery實現的表格展開伸縮效果例項jQuery
- 點選標題可以展開效果程式碼例項
- js和css3實現的扇子展開效果JSCSSS3
- 具有緩衝效果的側欄展開客服系統
- web 端展現報表資料時如何實現摺疊展開效果?Web
- JavaScript滑鼠懸浮展開側欄導航JavaScript
- JavaScript 省市級聯效果JavaScript
- JavaScript 簡單動畫效果JavaScript動畫
- JavaScript元素抖動效果JavaScript
- JavaScript 動畫效果例項JavaScript動畫