怎么在html動態實現顯示和隱藏效果


效果目標圖:

 

 

 

 這個還是比較好實現的,附源碼:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>點擊查看全文</title>
    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
    <style type="text/css">
      *{
  padding: 0;
  margin: 0;
}
.showAll{
  width: 60%;
  margin: 0 auto;
  background: #ecebeb;
  padding: 10px;
}
.showAll .title{
  font-size: 20px;
  font-weight: bold;
  color:#af0015;
}
.showAll .author{
  color: #a1a1a1;
  margin: 12px 0;
}
.showAll .content{
  display: none;   //注意這里讓文字不顯示
}
    </style>
    <script type="text/javascript">
      $(document).ready(function(){
  $(".showContent").click(function(){        //當“展開全文”按鈕點擊的時候
    $(".content").show();             //展示未完全顯示的那部分內容
    $(this).parent().hide();           //此處需要注意隱藏簡略說明的文字,因為原來文字里面最后有省略號,不隱藏的后果就是展開后省略號仍舊在那里
  });
  $(".hideContent").click(function(){         //當“收起全文”按鈕點擊的時候
    $(this).parent().hide();           //隱藏已經顯示出來的文字
    $(".showContent").parent().show();       //將簡略說明的文字顯示出來
  });
});
    </script>
  </head>
  <body>
    <div class="showAll">
      <p class="title">
        一則勵志故事              
      </p>
      <p class="author">
         作者:來自網絡 發表時間:2014-3-1
      </p>
      <p>
        彼得·韓德先生現任卡內基公司 (Dale Carnegie & Associates) 總裁及首席執行官。卡內基公司為訓練界中的翹楚,在全世界85個國家有160個分支機構。 
        除此之外,彼得先生還是數家大公司的董事,作為一個培訓別人怎樣獲得成功的專業機構的總裁,他是怎樣獲得成功的呢?日前,記者在北京的東方君悅大酒店采訪了
        這位CEO,聽他講述了自己是怎樣獲得成功的故事。 
        彼得先生通過一個故事講了他對成功的理解。他說他在五歲時因為生病去看醫生,當時病痛...
        <a class="showContent" href="javascript:void(0);">查看全文</a>
      </p>
      <div class="content">
        彼得·韓德先生現任卡內基公司 (Dale Carnegie & Associates) 總裁及首席執行官。卡內基公司為訓練界中的翹楚,在全世界85個國家有160個分支機構。
         除此之外,彼得先生還是數家大公司的董事,作為一個培訓別人怎樣獲得成功的專業機構的總裁,他是怎樣獲得成功的呢?日前,記者在北京的東方君悅大酒店采訪了
         這位CEO,聽他講述了自己是怎樣獲得成功的故事。 
         彼得先生通過一個故事講了他對成功的理解。他說他在五歲時因為生病去看醫生,當時病痛使他很難受,醫生當時問他,你最想要的是什么,彼得先生對醫生說,我想
         要快樂,醫生說,那你快樂就是了,結果他真的很快樂。所以彼得先生說,有許多人想追求成功,也有許多人問他,怎樣才能盡快地獲得成功。他認為,這要先看你對
         成功的定義是什么?你的成功定義若是家庭和諧,那你就應想辦法跟家庭成員更多地溝通,為此付出更多的時間,並在提升家庭成員的和諧之中也提升自己處理家庭問
         題的能力。 
         彼得先生說:“我對成功的定義是快樂,我不會做我不喜歡的事和不喜歡的工作。中國的一句俗語說‘人在屋檐下,不得不低頭',我不喜歡那樣的境況,我也不會那樣
         做。由於我認為快樂就是成功,所以說,我在5歲時就已經很成功了。” 
         <a class="hideContent" href="javascript:void(0);">收起全文</a>
      </div>   
    </div>    
  </body>
</html>

但上面只是靜態的,但如果是動態的,成百上千條的數據,這時候就需要用到動態html了。

也就是需要在html頁面借助for循環來實現展示效果。(讓其產生多個li標簽)

那么上面這樣寫就會有問題。因為這樣會讓所有的包含class 為content的標簽產生影響。所以js代碼那塊有問題。所以就需要使用id來改變隱藏和顯示狀態,而不應該用class。

然后又想id怎么自增。但是讓其自增了,又怎么獲取該標簽自增后的id。因為在上面隱藏和展示的代碼里面需要獲取該id,之后就不會寫了。。。不會js,需要學一下。

另外附上可以讓其產生這種效果的css代碼:

像這種加了省略號,加了個閱讀全文是怎么做到的

 p {
            width:600px;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            /*-webkit-line-clamp: 3;超出3行部分顯示省略號,去掉該屬性 顯示全部*/
            line-height: 1.5em;
            height:4.5em;
            overflow-y: hidden;
            -webkit-box-orient: vertical;
        }

還有別的方法控制,用js控制應該也可以,待后期學到一定程度,實現一下這個功能。

看下面這篇文章有點幫助:

http://www.luyixian.cn/javascript_show_144212.aspx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM