JS+CSS實現DIV層的展開、收縮效果_javascript技巧

來源:互聯網
上載者:User

本文為大家分享的第一個執行個體:JS控制DIV層的展開、收縮效果。

<html><head><title>CSS+JS實現一個DIV層的展開/摺疊效果</title><style>* { margin:0; padding:0;}body { text-align:center; font:75% Verdana, Arial, Helvetica, sans-serif;}h1 { font:125% Arial, Helvetica, sans-serif; text-align:left; font-weight:bolder; background:#555; padding:3px; display:block; color:#99CC00}.class1 { width:40%; background:#CCCCCC; position:relative; margin:0 auto; padding:5px;}span { position:absolute; right:10px; top:8px; cursor:pointer; color:yellow;}p { text-align:left; line-height:20px; background:#555; padding:3px; margin-top:5px; color:#99CC00}#class1content { height:256px;overflow:hidden}</style><script>function $(element){return element = document.getElementById(element);}function $D(){var d=$('class1content');var h=d.offsetHeight;var maxh=300;function dmove(){h+=50; //層展開速度if(h>=maxh){d.style.height='300px';clearInterval(iIntervalId);}else{d.style.display='block';d.style.height=h+'px';}}iIntervalId=setInterval(dmove,2);}function $D2(){var d=$('class1content');var h=d.offsetHeight;var maxh=300;function dmove(){h-=50;//層收縮速度if(h<=0){d.style.display='none';clearInterval(iIntervalId);}else{d.style.height=h+'px';}}iIntervalId=setInterval(dmove,2);}function $use(){var d=$('class1content');var sb=$('stateBut');if(d.style.display=='none'){$D();sb.innerHTML='收縮';}else{$D2();sb.innerHTML='展開';}}</script></head><body><div class="class1"><span id="stateBut" onclick="$use()">收縮</span><p id="class1content">雲棲社區。</p></div></body>

效果圖:

第二個執行個體:js 控制展開摺疊

<html><head>  <meta http-equiv="Content-Type" content="text/html;charset=gb2312">  <title>Title</title></head><body><!-- js 控制 展開 隱藏div --><img src="image/down.png" onclick="test(this)">  <!--this 指 img 對象 --><div id="div2" style="border:1px solid #ccc; width:300px; height:200px; display: block;">  (1)每個HTML標記都有事件控制代碼屬性。onClick是HTML標記屬性,不分大小寫。  (2)HTML標記對應的元素對象也具有事件控制代碼屬性,這個屬性必須全小寫,因JS區分大小寫</div></body></html><script type="text/javascript">function test(obj){  var div1=document.getElementById("div2");  if(div1.style.display=="block"){    div1.style.display="none";    obj.src="image/up.png";  }else{    div1.style.display="block";    obj.src="image/down.png";  }}</script>

以上就是本文的全部內容,希望對大家的學習有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.