Namespace.register("U.CD.LO"); //注册布局 //此js虽然简单,但要整理一个逻辑还是比较费力,暂时如此了 //太多地方需要做宽高控制了,定义一些全局变量。 /*由于html设计原理的时效性,导致宽高不能auto,用js代码补齐*/ U.CD.LO.SetWH = function () { if (!document.body.clientHeight) { location.href = location.href; } //如果没有客户端信息,则再次刷新本页 //在项目开始时全部用100%,保证用户能看到全貌,然后在此处最终定义宽高。 //纵向 $("#UCD_TOP")[0].style.height = "37px"; $("#UCD_CT_Top_Tab")[0].style.height = "30px"; //中间头部切换栏 //$("#UCD_CT_BT")[0].style.height = "20px"; //中间底部命令行 //横向 // $("#UCD_TT")[0].style.width = "190px"; //左边工具栏宽度 $("#UCD_CT")[0].style.width = document.body.clientWidth - 190 + "px"; //右边代码区域宽度 //设置高度,高度无法100%;使用document.body.clientHeight必须CSS放前面?保证html body的值为100%,得不到,需要判断//window.screen.availWidth//document.documentElement.clientWidth //document.documentElement.innerWidth $("#UCD_Bottom")[0].style.height = document.body.clientHeight - $("#UCD_TOP")[0].clientHeight + "px"; //底部所有元素高度 //中间代码,代码结果窗口高度 var _ch = $("#UCD_Bottom")[0].clientHeight - $("#UCD_CT_Top_Tab")[0].clientHeight - $("#UCD_CT_BT")[0].clientHeight; if (_ch > 0) { $("#UCD_CT_CT")[0].style.height = _ch - 10 + "px"; $("#UCD_CT_HH_Code")[0].style.height = parseInt((_ch - 10) * 0.68) + "px"; $("#UCD_CT_IF")[0].style.height = parseInt((_ch - 10) * 0.32) + "px"; } //代码窗口宽度,有可能小于0,判断一下 //var _cw = $("#UCD_CT_CT")[0].clientWidth - $("#UCD_CT_IF")[0].clientWidth - 2; //if (_cw > 0) $("#UCD_CT_HH_Code")[0].style.width = _cw + "px"; //工具栏控件区域高度 var ub = $("#UCD_Bottom")[0].clientHeight - 35; ub > 0 ? $("#UCD_TT_Z")[0].style.height = ub + "px" : "0px"; //如果资源窗口没有显示,则扩大代码区域,_tt是左边工具栏宽度 _ct是中间区域宽度 _rt是右边区域宽度 6是分割线宽度 var _tt = $("#UCD_TT")[0], _ct = $("#UCD_CT")[0], _rt = $("#UCD_RTree")[0], _aw = document.body.clientWidth, _bk = 4; //如果资源管理器和工具栏都不可显示,则 if (_aw != 0) { if (_tt.style.display == "none" && _rt.style.display == "none") { _ct.style.width = _aw - _bk + "px"; } if (_tt.style.display == "none" && _rt.style.display == "block") { _ct.style.width = _aw - _rt.clientWidth - _bk + "px"; } if (_tt.style.display == "block" && _rt.style.display == "none") { _ct.style.width = _aw - _tt.clientWidth - _bk + "px"; } if (_tt.style.display == "block" && _rt.style.display == "block") { _ct.style.width = _aw - _tt.clientWidth - _rt.clientWidth - _bk + "px"; } } //结果显示窗口给固定宽高才能有滚动条。 var _if = $("#UCD_CT_SM_IF")[0], _ifct = $("#UCD_CT_IF")[0]; _if.width = _if.parentNode.clientWidth + "px"; //必须设置宽度才有效? //iframe的100%不起作用啊。 if (_ifct.clientHeight - 20 > 0) { _if.style.height = _ifct.clientHeight - 24 + "px"; } //代码区域宽度等于 包容器减去行号宽度 var _code = $("#UCD_CT_Code")[0], _hh = $("#UCD_CT_HH_CT")[0], _rq = $("#UCD_CT_HH_Code")[0] _code.style.width = _rq.clientWidth - _hh.clientWidth + "px"; } //单击左边分割线时,隐藏工具栏窗口?o为传递进来的控件类型 U.CD.LO.HEToolbar = function (o) { $("#UCD_TT_R")[0].style.display = $("#UCD_TT_R")[0].style.display == "none" ? "block" : "none"; U.CD.LO.SetWH(); } //关闭资源管理器影响的布局//关闭资源管理器 U.CD.LO.CloseZY = function () { $("#UCD_RTree")[0].style.display = "none"; U.CD.LO.SetWH(); } //打开资源管理器 U.CD.LO.OpenZY = function () { $("#UCD_RTree")[0].style.display = "block"; U.CD.LO.SetWH(); } //打开或者关闭资源管理器,在顶部菜单使用 U.CD.LO.OCZY = function () { $("#UCD_RTree")[0].style.display = $("#UCD_RTree")[0].style.display == "none" ? "block" : "none"; U.CD.LO.SetWH(); } //视图全屏模式, U.CD.LO.View = function () { var _v = $("#UCD_CT_IF")[0], _c = $("#UCD_CT_HH_Code")[0], _if = $("#UCD_CT_SM_IF")[0] _c.style.display = "none"; _v.style.display = "block"; _v.style.height = "100%"; U.CD.LO.SetWH(); } //代码模式 U.CD.LO.Code = function () { var _v = $("#UCD_CT_IF")[0], _c = $("#UCD_CT_HH_Code")[0]; _v.style.display = "none"; _c.style.display = "block"; _c.style.height = "100%"; // U.CD.LO.SetWH(); } //拆分模式 U.CD.LO.Split = function () { var _v = $("#UCD_CT_IF")[0], _c = $("#UCD_CT_HH_Code")[0]; //_v.style.width = "100%"; _c.style.width = "100%"; _v.style.height = "30%"; _c.style.height = "70%"; _v.style.display = "block"; _c.style.display = "block"; U.CD.LO.SetWH(); }