//table嵌iframe的主页布局,兼容IE、Firefox浏览器 //auth:yawei.lkocok //time:2007-07-07 function initTable() { var oT = new ResizeableTable("maintable", 1); } function initNumTable(num) { var oT = new ResizeableTable("maintable", num); } function createObjMethod(obj, strFuncName) { var args = []; if (!obj) { obj = window; } for (var i = 2; i < arguments.length; i++) { args.push(arguments[i]); } return function () { obj[strFuncName].apply(obj, args); } } function ResizeableTable(id, index) { this.table = document.getElementById(id); this.leftTD = this.table.rows[index].cells[0]; this.barTD = this.table.rows[index].cells[1]; this.rightTD = this.table.rows[index].cells[2]; this.barTD.obj = this; this.barTD.onmousedown = new Function("e", "this.obj.beginResize(e||window.event)");//createObjMethod(this,"beginResize");//this.beginResize; // this.table.onmouseup = createObjMethod(this,"endResize");//this.endResize; // this.table.onmousemove = createObjMethod(this,"doResize");//this.doResize; this.barTD.onmousemove = new Function("e", "this.obj.doResize(e||window.event)");// this.barTD.onmouseup = new Function("e", "this.obj.endResize(e||window.event)");//createObjMethod(this,"endResize");//this.endResize; this.barTD.onselectstart = function () { return false; }; this.switchImg = this.barTD.getElementsByTagName("IMG")[0]; this.switchImg.title = "关闭导航栏"; this.switchImg.obj = this; this.switchImg.onclick = new Function("e", "this.obj.doswitch(e||window.event)");//createObjMethod(this,"doswitch");//this.switche; this.switchImg.onselectstart = function () { return false; }; this.switcher = "on"; this.inResizing = false; this.leftPageWidth = this.leftTD.offsetWidth; this.divEle = document.createElement("div"); this.divEle.className = "floatdiv"; this.divEle.obj = this; this.divEle.onmouseup = new Function("e", "this.obj.endResize(e||window.event)");//createObjMethod(this,"endResize");//this.endResize; this.divEle.onmousemove = new Function("e", "this.obj.doResize(e||window.event)");//createObjMethod(this,"doResize");//this.doResize; this.divEle.style.display = 'none'; document.body.appendChild(this.divEle); } ResizeableTable.prototype.setResizeableTrIndex = function (index) { } ResizeableTable.prototype.beginResize = function (e) { var ev = window.event || e;//window.event || e; var srcEle = ev.srcElement || ev.target; if (srcEle.tagName == "TD") { var _this = this;//srcEle.obj; _this.screenX = ev.screenX; _this.beginResizeEle = srcEle; if (_this.beginResizeEle == _this.switchImg || _this.switcher == "off") { _this.inResizing = false; } else { _this.inResizing = true; _this.divEle.style.display = ''; } } } ResizeableTable.prototype.doResize = function (e) { var ev = window.event || arguments[0];//window.event || e; var srcEle = ev.srcElement || ev.target; var _this = this;//srcEle.obj; if (_this.inResizing) { var t = _this.leftTD.offsetWidth + ev.screenX - _this.screenX; if (t < 1) { _this.leftTD.style.width = "1px"; // this.screenX = 1; } else { _this.leftTD.style.width = t + "px"; _this.screenX = ev.screenX; } if (_this.divEle.style.cursor != "e-resize") { _this.divEle.style.cursor = "e-resize"; } } } ResizeableTable.prototype.endResize = function (e) { var ev = window.event || arguments[0]; var srcEle = ev.srcElement || ev.target; // if (srcEle.tagName=="TD") { var _this = this;//srcEle.obj; // alert(); _this.inResizing = false; _this.divEle.style.cursor = "default"; _this.divEle.style.display = 'none'; } } ResizeableTable.prototype.doswitch = function (e) { var ev = window.event || arguments[0];//window.event || arguments[0];//window.event || e; var srcEle = ev.srcElement || ev.target; var _this = this;//srcEle.obj; if (_this.switcher == "on") { _this.leftPageWidth = _this.leftTD.offsetWidth; _this.tempStep = 1; setTimeout(createObjMethod(_this, "timerSwitch", srcEle), 10); /* for (var i=1; this.leftTD.offsetWidth>1; i++) { var t = this.leftTD.offsetWidth-i; if (t<0) { t = "1px"; break; } else { t = t+"px"; } this.leftTD.style.width = t; } srcEle.className = "switcher-off"; this.switcher="off";*/ } else { _this.tempStep = 1; setTimeout(createObjMethod(_this, "timerSwitch", srcEle), 10); /* for (var i=1; this.leftTD.offsetWidththis.leftPageWidth) { t=this.leftPageWidth+"px"; break; } else { t = t+"px"; } this.leftTD.style.width = t; } srcEle.className = "switcher-on"; this.switcher="on";*/ } } ResizeableTable.prototype.timerSwitch = function (srcEle) { var _this = this;//this.obj; // alert(t); if (this.switcher == "on") { var t = this.leftTD.offsetWidth - this.tempStep; if (t < 1) { t = "1px"; // break; } else { t = t + "px"; this.tempStep += 20; } this.leftTD.style.width = t; if (this.leftTD.style.width != "1px") { setTimeout(createObjMethod(this, "timerSwitch", srcEle), 10); } else { srcEle.className = "switcher-off"; srcEle.title = "打开导航栏"; this.switcher = "off"; } } else { var t = this.leftTD.offsetWidth + this.tempStep; if (t > this.leftPageWidth) { t = this.leftPageWidth + "px"; // break; } else { t = t + "px"; this.tempStep += 20; } this.leftTD.style.width = t; if (this.leftTD.style.width != this.leftPageWidth + "px") { setTimeout(createObjMethod(this, "timerSwitch", srcEle), 10); } else { srcEle.className = "switcher-on"; this.switcher = "on"; srcEle.title = "关闭导航栏"; } } }