在页面加上区域,可以伸缩展示


window.onload = function() {
 var arrDiv = $("div.divShow");
 
 for (var i = 0; i < arrDiv.length; i++) {
  (function () {
    var bShow = false;
    var oDiv = arrDiv[i];
    var oH5 = oDiv.getElementsByTagName("h5")[0];
    var arrTr = oDiv.getElementsByTagName("tr");
    
    var limitLow = oH5.offsetHeight;
    var limitHeight = 0;
    var trHeigth = 0;
    
    for (var j = 0, len = arrTr.length; j < len; j++) {
     trHeigth += arrTr[j].offsetHeight;
    }
    
    if (arrTr.length > 0) {
     limitHeight = oH5.offsetHeight + trHeigth;
     oH5.innerHTML = "展开审核意见&nbsp;&nbsp;↓";
     oDiv.style.height = limitLow + "px";
    } else {
     limitHeight = oH5.offsetHeight;
     oH5.innerHTML = "隐藏审核意见&nbsp;&nbsp;↑";
    }
    
    oH5.onclick = function () {
     bShow = !bShow;
     doMove(oDiv, bShow ? limitHeight : limitLow);
     if (bShow) {
      oH5.innerHTML = "隐藏审核意见&nbsp;&nbsp;↑";
     } else {
      oH5.innerHTML = "展开审核意见&nbsp;&nbsp;↓";
     }
    };
  })();
 }
}

function doMove(obj, iTarget, callback) {
 clearInterval(obj.timer);
 obj.timer = setInterval(function() {
   var iSpeed = (iTarget - obj.offsetHeight) / 2;
   iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
   iTarget == obj.offsetHeight ? (clearInterval(obj.timer), callback && callback()) : obj.style.height = iSpeed + obj.offsetHeight + "px";
 }, 30);
 
 setInterval(setAllTal, 30);
}

posted @ 2014-04-09 13:23  我是谁呢  阅读(167)  评论(0)    收藏  举报