日期:2014-05-16  浏览次数:20373 次

js层收缩效果
http://www.cnblogs.com/cloudgamer/archive/2010/07/29/SlideView.html







<html>
<head>
<title>用户信息录入页面</title>
<script type="text/javascript">  
var mh = 30;//最小高度  
var step = 1;//每次变化的px量  
var ms = 10;//每隔多久循环一次  
function toggle(o){  
  if (!o.tid)o.tid = "_" + Math.random() * 100;  
  if (!window.toggler)window.toggler = {};  
  if (!window.toggler[o.tid]){  
    window.toggler[o.tid]={  
      obj:o,  
      maxHeight:o.offsetHeight,  
      minHeight:mh,  
      timer:null,  
      action:1  
    };  
  }  
  o.style.height = o.offsetHeight + "px";  
  if (window.toggler[o.tid].timer)clearTimeout(window.toggler[o.tid].timer);  
  window.toggler[o.tid].action *= -1;  
  window.toggler[o.tid].timer = setTimeout("anim('"+o.tid+"')",ms );  
}  
function anim(id){  
  var t = window.toggler[id];  
  var o = window.toggler[id].obj;  
  if (t.action < 0){  
    if (o.offsetHeight <= t.minHeight){  
      clearTimeout(t.timer);  
      return;  
    }  
  }  
  else{  
    if (o.offsetHeight >= t.maxHeight){  
      clearTimeout(t.timer);  
      return;  
    }  
  }  
  o.style.height = (parseInt(o.style.height, 10) + t.action * step) + "px";  
  window.toggler[id].timer = setTimeout("anim('"+id+"')",ms );  
}  
</script><style type="text/css">  
div.xx{border:solid 1px;overflow:hidden;}  
div.xx h5{border:solid 1px;border-width:0 0 1px;padding:0;margin:0;height:30px;line-height:30px;cursor:pointer;background:#eee;}  
</style>  
</head>  
<body>  
<div class="xx"><h5 onclick="toggle(this.parentNode)">伸缩效果</h5>  
<p>内容</p>  
<p>内容</p>  
<p>内容</p>  
<p>内容</p>  
</div>  
</body> 
</html>