JavaScript控制網(wǎng)頁層收起和展開效果的方法

字號:


    具體如下:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>">
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <title>很酷的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:#333; padding:3px;
    display:block; color:#99CC00
    }
    .class1 {
    width:40%; background:#CCC;
    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:#333; padding:3px; margin-top:5px;
    color:#99CC00
    }
    #class1content {
    height:300px;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; //設(shè)置層展開的速度
    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;//設(shè)置層收縮的速度
    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>
    <h1>DIV層的展開隱藏效果</h1>
    <span id="stateBut" onclick="$use()">展開</span>
    <p id="class1content">曾經(jīng)有一份真誠的愛情放在我面前,
    <br>我沒有珍惜,<br>等我失去的時候我才后悔莫及,
    <br>人世間最痛苦的事莫過于此。
    <br>如果上天能夠給我一個再來一次的機會,
    <br>我會對那個女孩子說三個字:<br>我愛你。
    <br>如果非要在這份愛上加上一個期限,
    <br>我希望是……一萬年!”
    </div>
    </body>
    </html>