zoukankan      html  css  js  c++  java
  • Div层的展开与收缩的代码

    <html>
    <head>
    <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, #class2content,#class3content { height:50px;overflow:hidden;display:none;}
    </style>
    <script>
    function $(element){
    return element = document.getElementById(element);
    }
    function $D(element){
    var d=$(element);
    var h=d.offsetHeight;
    var maxh=300;
    function dmove(){
    if(h>=maxh){
    d.style.height='300px';
    clearInterval(iIntervalId);
    }else{
    h+=50; //设置层展开的速度
    d.style.display='block';
    d.style.height=h+'px';
    }
    }
    iIntervalId=setInterval(dmove,2);
    }
    function $D2(element){
    var d=$(element);
    var h=d.offsetHeight;
    var maxh=300;
    function dmove(){
    if(h<=0){
    d.style.display='none';
    clearInterval(iIntervalId);
    }else{
    h-=50;//设置层收缩的速度
    d.style.height=h+'px';
    }
    }
    iIntervalId=setInterval(dmove,2);
    }
    function $use(targetid,objN){
    var d=$(targetid);
    var sb=$(objN);
    if (d.style.display=="block"){
    $D2(targetid);
    d.style.display="none";
    sb.innerHTML="展开";
    } else {
    var p=document.getElementsByTagName("p");
    var span=document.getElementsByTagName("span");
    
    for(var i=0,l=p.length;i<l;i++){
    if(p[i]!=d){
    p[i].style.height=0;
    p[i].style.display="none";
    span[i].innerHTML="展开";    
    }
    }
    $D(targetid);
    d.style.display="block";
    sb.innerHTML='收缩';
    }
    }
    </script>
    </head>
    <body>
    <div class="class1">
    <h1>div展开收缩效果</h1>
    <span id="stateBut" onClick="$use('class1content','stateBut')">展开</span>
    <p id="class1content">something.........</p>
    </div>
    <div class="class1">
    <h1>div展开收缩效果</h1>
    <span id="stateBut1" onClick="$use('class2content','stateBut1')">展开</span>
    <p id="class2content">something.........</p>
    </div>
    <div class="class1">
    <h1>div展开收缩效果</h1>
    <span id="stateBut2" onClick="$use('class3content','stateBut2')">展开</span>
    <p id="class3content">wojiade</p>
    </div>
    </body>
    </html>

  • 相关阅读:
    Map接口框架图
    Collection接口框架图
    Java集合框架源码(四)——Vector
    Java集合框架源码(三)——arrayList
    HashSet与HashMap的区别
    Java集合框架源码(二)——hashSet
    hashMap与hashTable的区别
    HashMap与ConcurrentHashMap的区别
    asp.net 项目Net4.0 在IE10、 IE 11 下出现 “__doPostBack”未定义 的解决办法
    C# 完整List例子
  • 原文地址:https://www.cnblogs.com/shadowduke/p/4957793.html
Copyright © 2011-2022 走看看