当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 仿Office 2003的工具条

Javascript
写的htc的数据表格
幻宇的层模拟窗口效果-提供演示和下载
javascript 播放器 控制
一个无限级XML绑定跨框架菜单(For IE)
innerHTML,outerHTML,innerTEXT三者之间的区别
无间断滚动的新闻文章列表 多浏览器兼容
图片连续不间断滚动像册
关于图片验证码设计的思考
Js之软键盘实现(js源码)
js技巧收集(200多个) 超强推荐
图片自动播放也可通过按钮控制显示
照片各部分的彩色与黑白交替更换
select发展史 超强
无聊,写了个日历程序,欢迎拍砖
greybox:不开新窗口看新的网页
nicejforms:美化表单不用愁
用jquery来定位
动态调用css文件:jquery的应用
用YUI做了个标签浏览效果
JS轻松实现CSS设置,DIV+CSS常用CSS设置

Javascript 中的 仿Office 2003的工具条


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 304 ::
收藏到网摘: n/a

 

<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>仿Office 2003的工具条</title>
<script>
/*----------
舜子制作
Menu Javascript Made by PuterJam
E-mail:[email protected]
-------------*/
 var listnum=0;
 var menu_height;
 var menu_width;
 var menu_left;
 var menu_top;
 var topMar = 1;
 var leftMar = -2;
 var space = 1;
 var isvisible;

function listbox(listname,buttonname,valuename)
{
this.listname=listname
this.buttonname=buttonname
this.valuename=valuename
}

function listaction(obj,action,showlist,scroll,tw)
{
num=obj.id.charAt(obj.id.length-1)
if (!scroll) {scroll=0}
if (!tw) {tw=105}
listbox=eval(lb[num].listname)
listbutton=eval(lb[num].buttonname)
listvalue=eval(lb[num].valuename)
switch (action)
 {
  case 0:
  listbox.className="getlist";listbutton.className="listover"
  break;
  case 1:
  if (listbox.gf=="0")
  {listbox.className="lostlist";listbutton.className="menubar"}
  break;
  case 2:
 for (i=0;i<lb.length;i++)
 {
 if (num!=i.toString()){
 nlistbox=eval(lb[i].listname)
 nlistbutton=eval(lb[i].buttonname)
 nlistvalue=eval(lb[i].valuename)
 nlistbox.className="lostlist";nlistbutton.className="menubar"
 nlistbox.gf="0"
  }
 }
  ShowMenu(listbox,showlist,tw,scroll);listbox.className="getlist";listbox.gf="1"
  listnum=num;
  break;
  }
}

function HideMenu()
{
 var mX;
 var mY;
 var vDiv;
 var mDiv;
 if (isvisible == true)
 {
  vDiv = document.all("listDiv");
  mX = window.event.clientX + document.body.scrollLeft;
  mY = window.event.clientY + document.body.scrollTop;
  if ((mX < parseInt(vDiv.style.left)) || (mX > parseInt(vDiv.style.left)+vDiv.offsetWidth) ||
   (mY < parseInt(vDiv.style.top)-menu_height) || (mY > parseInt(vDiv.style.top)+vDiv.offsetHeight))  {
   vDiv.style.visibility = "hidden";
   isvisible = false;
  }
 }
 
 if (isvisible==false)
 {
  for (i=0;i<lb.length;i++)
 {
 listbox=eval(lb[i].listname)
 listbutton=eval(lb[i].buttonname)
 listvalue=eval(lb[i].valuename)
 listbox.className="lostlist";listbutton.className="menubar"
 listbox.gf="0"
 }
 }
}

function ShowMenu(obj,vMnuCode,tWidth,scroll) {
 vMnuCode = "<table id='submenu' cellspacing=0 cellpadding=0 bgcolor=#ffffff border=0 style='width:"+tWidth +
      ";border-collapse: collapse' class='listDiv'><tr height=23><td nowrap align=left>" +
       vMnuCode + "</td></tr></table>";

 menu_height = obj.offsetHeight;
 menu_width = obj.offsetWidth;
 menu_left = obj.offsetLeft + leftMar+2;
 menu_top = obj.offsetTop + topMar + menu_height + space-3;
 vParent = obj.offsetParent;
 while (vParent.tagName.toUpperCase() != "BODY")
 {
  menu_left += vParent.offsetLeft;
  menu_top += vParent.offsetTop;
  vParent = vParent.offsetParent;
 }

 listDiv.innerHTML = vMnuCode;
 listDiv.style.top = menu_top;
 listDiv.style.left = menu_left;

 if (scroll==0) {listDiv.style.overflow="visible";listDiv.style.width=tWidth}
else {listDiv.style.overflow="scroll";listDiv.style.width=tWidth+18}
 listDiv.style.visibility = "visible";
 var cssopaction=submenu.filters[0].opacity
 submenu.filters[0].opacity=0;
    submenu.filters[1].Apply();