1. 程式人生 > 其它 >如何過多文字顯示更多按鈕,點選可顯示更多文字或者隱藏部分文字

如何過多文字顯示更多按鈕,點選可顯示更多文字或者隱藏部分文字

由於介紹比較多,可以將部分文字隱藏,點選更多按鈕,將全部文字顯示出來

同時,如果文字全部顯示出來,就顯示“收縮”

直接上js程式碼

 1  function showmore(contentid){
 2         var len = 300;      //預設顯示字數
 3         var ctn = document.getElementById(contentid);  //獲取div物件
 4         var content = ctn.innerHTML;                   //獲取div裡的內容
 5 content2 = content.replace(/(^\s*)|(\s*$)/g, ""); 
6 content2= content2.replace(/<[^>]+>/g,"");//去掉所有的html標記 7 8 //alert(content); 9 var span = document.createElement("span"); //建立<span>元素 10 var a = document.createElement("a"); //建立<a>元素 11 span.innerHTML = content2.substring(0,len); //span裡的內容為content的前len個字元
12 13 a.innerHTML = content.length>len?"... 展開":""; ////判斷顯示的字數是否大於預設顯示的字數 來設定a的顯示 14 a.href = "javascript:void(0)";//讓a連結點選不跳轉 15 16 a.onclick = function(){ 17 if(a.innerHTML.indexOf("展開")>0){ //如果a中含有"展開"則顯示"收起" 18 a.innerHTML = "<<&nbsp;收起";
19 span.innerHTML = content; 20 }else{ 21 a.innerHTML = "... 展開"; 22 span.innerHTML = content.substring(0,len); 23 } 24 } 25 // 設定div內容為空,span元素 a元素加入到div中 26 ctn.innerHTML = ""; 27 ctn.appendChild(span); 28 ctn.appendChild(a); 29 }

前臺呼叫的時候寫上:

showmore('aboutuscontent');//aboutuscontent是id名