一个js实现的所谓的滑动门

  滑动门:我不理解为什么这样叫。

  我就命名为:JMenuTab吧,因为写它是为了当我的菜单。

  IE6,FireFox下测试通过。

  

复制代码 代码如下:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <title>无标题文档</title>

  <link href="JTabRes1/JMenuTab.css" rel="stylesheet" type="text/css" />

  <style type="text/css">

  <!--

  body {

  margin: 0px;

  }

  -->

  </style>

  </head>

  <body>

  <table width="100%" border="0" cellspacing="0" cellpadding="0">

  <tr>

  <td width="200"> </td>

  <td id="menuBar"></td>

  </tr>

  </table>

  <div id="page1">大大小小多多少少<br />

  人口手足</div>

  <div id="page2">ABCDEFG</div>

  <div id="page3"><img src="loading.gif" /></div>

  <div id="pageHelp"><table width="100%" border="0" cellspacing="0" cellpadding="0">

  <tr>

  <td>JMenuTab 帮助:</td>

  </tr>

  <tr>

  <td>Author:xling Blog:http://xling.blueidea.com  2007/05/23 </td>

  </tr>

  <tr>

  <td>写这个程序只是为了解决燃眉之急(汉,虽然是急,我还是写了一天)!</td>

  </tr>

  <tr>

  <td>程序中用到图片是修改了网上现有图片,所以,外表和某些网站上的一样,请不要见怪。因为除了图片,全是原创(不曾参考任何类似程序)!</td>

  </tr>

  <tr>

  <td>IE6,Firefox下测试通过。</td>

  </tr>

  <tr>

  <td>调用方法(注意顺序):</td>

  </tr>

  <tr>

  <td>var menuTab = new JMenuTab(null,null,"menuBar");<br />

  menuTab.create();<br />

  menuTab.addTab("首页");<br />

  menuTab.addTab("组织架构","page1");<br />

  menuTab.addTab("员工信息","page2");<br />

  menuTab.addTab("业务知识","page3");

  <br />

  menuTab.addTab("Help","pageHelp");<br />

  menuTab.setActiveTab(2);</td>

  </tr>

  </table>

  </div>

  </body>

  </html>

  <script language="javascript" type="text/javascript">

  function JMenuTab(pWidth,pHeight,pBody){

  var self = this;

  //________________________________________________

  var width = pWidth;

  var height = pHeight;

  var titleHeight = 24;

  //________________________________________________

  var oOutline = null;

  var oTitleOutline = null;

  var oPageOutline = null;

  var oTitleArea = null;

  var oPageArea = null;

  var tabArray = new Array();

  var activedTab = null;

  //________________________________________________

  var $ = function(pObjId){

  return document.getElementById(pObjId);

  }

  //________________________________________________

  var body = $(pBody) || document.body;

  //________________________________________________

  var htmlObject = function(pTagName){

  return document.createElement(pTagName);

  }

  //________________________________________________

  var isRate = function(pRateString){

  if(!isNaN(pRateString)) return false;

  if(pRateString.substr(pRateString.length-1,1) != "%")

  return false;

  if(isNaN(pRateString.substring(0,pRateString.length - 1)))

  return false;

  return true;

  }

  //________________________________________________

  var createOutline = function(){

  oOutline = htmlObject("DIV");

  body.appendChild(oOutline);

  oOutline.className = "oOutline";

  }

  //________________________________________________

  var createTitleOutline = function(){

  oTitleOutline = htmlObject("DIV");

  oOutline.appendChild(oTitleOutline);

  oTitleOutline.className = "oTitleOutline";

  var vTable = htmlObject("TABLE");

  oTitleOutline.appendChild(vTable);

  vTable.width = "100%";

  vTable.border = 0;

  vTable.cellSpacing = 0;

  vTable.cellPadding = 0;

  var vTBody = htmlObject("TBODY");

  vTable.appendChild(vTBody);

  var vTr1 = htmlObject("TR");

  vTBody.appendChild(vTr1);

  var vTdTopLeft = htmlObject("TD");

  vTr1.appendChild(vTdTopLeft);

  vTdTopLeft.height = titleHeight;

  vTdTopLeft.className = "oTopLeft";

  oTitleArea = htmlObject("TD");/////////////////////////////////

  vTr1.appendChild(oTitleArea);

  oTitleArea.className = "oTitleArea";

  var vTdTopRight = htmlObject("TD");

  vTr1.appendChild(vTdTopRight);

  vTdTopRight.className = "oTopRight";

  }

  this.setTitleHeight = function(pHeight){

  //设置标题区域的高度

  }

  //________________________________________________

  var tabBtn_click = function(){

  self.setActiveTab(this.index);

  }

  var tabBtn_mouseover = function(){

  if(this.className =="oTabBtnActive")

  return;

  this.className = "oTabBtnHover";

  }

  var tabBtn_mouseout = function(){

  if(this.className =="oTabBtnActive")

  return;

  this.className = "oTabBtn";

  }

  //________________________________________________

  var createTabBtn = function(pLabel,pTabPage){

  var vTabBtn = htmlObject("DIV");

  oTitleArea.appendChild(vTabBtn);

  vTabBtn.className = "oTabBtn";

  vTabBtn.index = tabArray.length;

  vTabBtn.tabPage = pTabPage;

  vTabBtn.onclick = tabBtn_click;

  vTabBtn.onmouseover = tabBtn_mouseover;

  vTabBtn.onmouseout = tabBtn_mouseout;

  tabArray.push(vTabBtn);

  var vTabBtnL = htmlObject("DIV");

  vTabBtn.appendChild(vTabBtnL);

  vTabBtnL.className = "oTabBtnLeft";

  vTabBtnC = htmlObject("DIV");

  vTabBtn.appendChild(vTabBtnC);

  vTabBtnC.className = "oTabBtnCenter";

  vTabBtnC.innerHTML = pLabel;

  vTabBtnR = htmlObject("DIV");

  vTabBtn.appendChild(vTabBtnR);

  vTabBtnR.className = "oTabBtnRight";

  }

  var createPageOutline = function(){

  oPageOutline = htmlObject("DIV");

  oOutline.appendChild(oPageOutline);

  oPageOutline.className = "oPageOutline";

  var vTable = htmlObject("TABLE");

  oPageOutline.appendChild(vTable);

  vTable.width = "100%";

  vTable.border = 0;

  vTable.cellSpacing = 0;

  vTable.cellPadding = 0;

  vTable.style.borderCollapse = "collapse";

  vTable.style.tableLayout="fixed";

  var vTBody = htmlObject("TBODY");

  vTable.appendChild(vTBody);

  var vTr1 = htmlObject("TR");

  vTBody.appendChild(vTr1);

  var vTdBottomLeft = htmlObject("TD");

  vTr1.appendChild(vTdBottomLeft);

  vTdBottomLeft.className = "oBottomLeft";

  vTdBottomLeft.rowSpan = 2;

  oPageArea = htmlObject("TD");///////////////////////////////////////

  vTr1.appendChild(oPageArea);

  oPageArea.className = "oPageArea";

  if(oPageArea.filters)

  oPageArea.style.cssText = "FILTER: progid:DXImageTransform.Microsoft.Wipe(GradientSize=1.0,wipeStyle=0, motion='forward');";

  oPageArea.height = 10;

  var vTdBottomRight = htmlObject("TD");

  vTr1.appendChild(vTdBottomRight);

  vTdBottomRight.className = "oBottomRight";

  vTdBottomRight.rowSpan = 2;

  var vTr2 = htmlObject("TR");

  vTBody.appendChild(vTr2);

  var vTdBottomCenter = htmlObject("TD");

  vTr2.appendChild(vTdBottomCenter);

  vTdBottomCenter.className = "oBottomCenter";

  }

  //________________________________________________

  this.addTab = function (pLabel,pPageBodyId){

  createTabBtn(pLabel,pPageBodyId);

  if($(pPageBodyId)){

  oPageArea.appendChild($(pPageBodyId));

  $(pPageBodyId).style.display = "none";

  }

  }

  //________________________________________________

  this.setActiveTab = function(pIndex){

  if(oPageArea.filters)

  oPageArea.filters[0].apply();

  if(activedTab != null){

  activedTab.className = "oTabBtn";

  if($(activedTab.tabPage))

  $(activedTab.tabPage).style.display = "none";

  }

  activedTab = tabArray[pIndex];

  activedTab.className = "oTabBtnActive";

  if($(activedTab.tabPage))

  $(activedTab.tabPage).style.display = "";

  if(oPageArea.filters)

  oPageArea.filters[0].play(duration=1);

  };

  //________________________________________________

  this.create = function(){

  createOutline();

  createTitleOutline();

  createPageOutline();

  }

  }

  var menuTab = new JMenuTab(null,null,"menuBar");

  menuTab.create();

  menuTab.addTab("首页");

  menuTab.addTab("组织架构","page1");

  menuTab.addTab("员工信息","page2");

  menuTab.addTab("业务知识","page3");

  menuTab.addTab("ISO系统");

  menuTab.addTab("办公环境");

  menuTab.addTab("公司新闻");

  menuTab.addTab("公共政策");

  menuTab.addTab("链接总部");

  menuTab.addTab("Help","pageHelp");

  menuTab.setActiveTab(2);

  </script>

  请下载源码察看效果。