首页 新闻 会员 周边

请教一个可以控制多Sheet页个数的JS脚本写法

0
悬赏园豆:10 [已关闭问题] 关闭于 2011-10-15 15:03

项目中需要用到在Portal浏览器门户窗口中使用多个Sheet页(类似Excel下面的Sheet)的功能,找了一个JS代码,基本效果都能实现了。美中不足的就是当打开的Sheet页个数达到显示器宽度时候,就会出现折行错位并提示“您打开了太多的窗口,可能导致页面局部变形。建议关闭一部分窗口”信息,必须手工关闭一个Sheet窗口才能恢复正常。

如下所示红色位置,目前是通过判断表格的高度超过设定值时弹出警告信息。理想的实现效果是,在创建新Sheet窗口前能够先判断一下如果创建了此Sheet窗口是否会超出表格高度,如果会超出则不创建并弹出警告信息。如果这个想法很难实现,也可以判断Sheet的固定数量也行,或者有其它更好的方法。希望有JS高手能够帮忙在下面代码基础上修改下,谢谢了。

function HTabControl(tabSkinId,isShowCloseBtn)
{
  //this.tabSkinId = tabSkinId;
  _isShowCloseBtn = isShowCloseBtn;
  _stylePath = _path + "Skin/Tab"+ tabSkinId +"/";
   
  this.init = function()
  {
  loadStyle(this.tabSkinId,"tab.css");
  return "<div id='tabContextMenu' class='ContextMenu' onclick='HiddenDiv(this.id)'>"+
  "<table border='0' cellpadding='0' cellspacing='0'>"+
  "<tr><td class='rightMenuItem1' onclick='window.open(_curentUrl)'>新开窗口</td></tr>"+
  "<tr><td class='rightMenuItem2' onclick='fullOpen(_curentUrl)'>全屏打开</td></tr>"+
  "<tr><td class='rightMenuItem3' onclick=GetIframe('F_'+_curentFrame).document.location.reload();>刷新本页</td></tr> "+
  "</table>"+
  "</div>"+  
   
  "<table width='100%' height='100%' border='0' cellspacing='0' cellpadding='0'>" +
  "<tr>" +
  "<td style='height:21px' valign='bottom'>" +
  "<table height='100%' id='tabFrameTitle' border='0' cellspacing='0' cellpadding='0'>" +
  "<tr>" +
  "<td valign='bottom'></td>" +
  "</tr>"+
  "</table>" +
  "</td>" +
  "</tr>" +
  "<tr>" +
  "<td class='tabpage' valign='top' id='tdFramePane'></td>" +
  "</tr>" +
  "</table>"; 
  }
   
  //如果不存在页面就创建,如果存在就聚焦
  this.Cts = function(title,url,isRef)
  {
  var objTitle = $("tabFrameTitle");
  var objIframe = $("tdFramePane");
   
  //如果没有该页建立该页 
  if(!$(title))
  {
  ShowLoading();
  CreateTitle(objTitle,title);
  if(isRef == true)
  {
  CreateIframe(objIframe,title,'auto');
  }
  else
  {
  CreateIframe(objIframe,title,'auto',url);
  }
   
  if(objTitle.offsetHeight > 25 )
{
alert("您打开了太多的窗口,可能导致页面局部变形。建议关闭一部分窗口");
}
 
  }
   
   
   
  //聚焦到该页
  FoucsPage(title,url,isRef);
  CollectGarbage();//清理浏览器内存 
  _curentUrl = url;
  HiddenDiv('tabContextMenu');
  }
}

ok8209的主页 ok8209 | 初学一级 | 园豆:25
提问于:2011-10-08 16:43
< >
分享
所有回答(1)
0

已 解决

ok8209 | 园豆:25 (初学一级) | 2011-10-15 15:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册