OUTLOOK菜单类

发布: 2007-06-06 18:44

<HTML>
<HEAD>
<TITLE>outlook菜单</TITLE>
<META http-equiv=content-type content=text/html;charset=gb2312>
<style>
.outlook-title
{
border:1px outset; [color=#F0F8FF][/color]
background-color:buttonface;
color:black;
text-align:center;
cursor:hand;
font-size:9pt;
}
.outlook-item
{
padding:2px;
font-size:9pt;
}

a.outlook-item:hover
{
color:blue;
}
</style>
</HEAD>
<BODY style="MARGIN: 0px" text=black vLink=white aLink=white link=white scroll=no>
<table height="100%" width="100%" border=0 cellpadding=0 cellspacing=0>
<tr><td width="140">
<TABLE style="WIDTH: 140px; HEIGHT: 100%" cellSpacing=0 cellPadding=0 bgColor=#aca899 border=1 hspace="0" vspace="0">
<TR>
<TD id=outLookBarShow style="HEIGHT: 100%" align=middle name="outLookBarShow">
<div id="o1" style="height:100%;"></div>
</td>
</tr>
</table>
</td><td><iframe id="frm" name="frm" width="100%" height="100%" frameborder=0></iframe></td></tr>
</table>

<SCRIPT LANGUAGE="JavaScript">
<!--
/*
** ==================================================================================================
** 类名:CLASS_OUTLOOKBAR
** 功能:OUTLOOK菜单
** 示例:
---------------------------------------------------------------------------------------------------
var o = new CLASS_OUTLOOKBAR();
o.addTitle("工作安排");
o.addTitle("通告信息");
o.addTitle("管理制度");
o.addTitle("系统管理");

o.addItem(0,"今日安排","frm","http://www.google.com");
o.addItem(0,"工作任务","frm","http://baidu.com");

o.addItem(1,"报社通知","frm","http://www.itpub.net/forum6.html",null);

o.setupById("o1");

//定义需要安装的DIV
<div id="o1" style="height:100%;"></div>

---------------------------------------------------------------------------------------------------
** 作者:ttyp
** 邮件:ttyp@21cn.com
** 日期:2005-12-25
** ==================================================================================================
*/
function CLASS_OUTLOOKBAR(id,name)
{
var THIS1 = this;

this.id = getUnique(id);
this.name = getUnique(name);
this.width = "140";
this.height = "100%";
this.titles = new Array();

function getUnique(p){
if(p!=null){
return p;
} else {
return "outlook_" + new Date().getTime() + "_";
}
}

this.addTitle = function(name){

function title(name){
var THIS2 = this;
this.name = name;
this.items = new Array();
this.addItem = function(name,target,url,image,align){

function item(name,target,url,image,align){
this.name = name;
this.image = image;
this.target = target;
this.url = url;
this.align = align;
}

var _item = new item(name,target,url,image,align);
THIS2.items[THIS2.items.length] = _item;
return _item;
}
}

var _title = new title(name);

this.titles[this.titles.length] = _title;

return _title;
}

this.step = 4;
this.speed = 10;
this.selectedIndex = 0;
this.timer = 0;
this.rate = 100;

this.select = function(index){
if(this.selectedIndex!=index){
this.rate = 100;
this.timer = window.setInterval(function(){

THIS1.rate-= THIS1.step;

var oldI = document.getElementById(THIS1.id + THIS1.selectedIndex).nextSibling;
var newI = document.getElementById(THIS1.id + index).nextSibling;

oldI.style.display = "";
newI.style.display = "";

if(THIS1.rate<0)
{
window.clearInterval(THIS1.timer);
oldI.style.display = "none";
THIS1.selectedIndex = index;
} else {
oldI.style.height = THIS1.rate +"%";
newI.style.height = (100 - THIS1.rate) + "%";

}

},this.speed);
}
}

this.setup = function(contain){
if(contain!=null){
var table = document.createElement("table");
table.style.width = "100%";
table.style.height = "100%";
table.cellPadding = "0px";
table.cellSpacing = "0px";
table.style.border = "0px solid red";
table.bgColor = "#aca899";

function getItem(width,height,display,title){
var tris = document.createElement("tr");
var tdis = document.createElement("td");
tdis.style.width = width;
tris.style.height = height;
tris.style.display = display;
tdis.className = "outlook-item";
tdis.style.verticalAlign = "top";

if(title!=null&&typeof(title.items)!="undefined"){
var vv = document.createElement("div");
vv.style.overflow = "auto";
vv.style.height = "100%";
vv.style.width = "100%";

for(var i=0;i<title.items.length;i++){
var div = document.createElement("div");
div.style.textAlign = "center";
div.style.height = "24px";
div.style.paddingTop = "4px";

if(title.items[i].image!=null){
var img = document.createElement("img");
img.src = title.items[i].image;
div.appendChild(img);
if(typeof(title.items[i].align)!="undefined"&&title.items[i].align==1){
var lbl = document.createElement("label");
lbl.innerHTML = "<br>";
div.appendChild(lbl);
}
}

var a = document.createElement("a");
a.target = title.items[i].target;
a.innerHTML = title.items[i].name;
a.href = title.items[i].url;
div.appendChild(a);
vv.appendChild(div);
}

tdis.appendChild(vv);
}

tris.appendChild(tdis);
return tris;
}
for(var i=0;i<this.titles.length;i++){
var tr = document.createElement("tr");
var td = document.createElement("td");

tr.style.height = "25px";
td.style.width = "100%";
td.className = "outlook-title";

td.innerHTML = this.titles[i].name;
tr.id = this.id + i;
tr.appendChild(td);
table.appendChild(tr);
if (i==this.selectedIndex){
var tris = getItem("100%","100%","",this.titles[i]);
table.appendChild(tris);
} else {
var tri = getItem("100%","0%","none",this.titles[i]);
table.appendChild(tri);
}
}

if(typeof(contain.outerHTML)=="undefined"){
contain.appendChild(table);
} else {
contain.innerHTML = table.outerHTML;
}
//bind event
for(var i=0;i<this.titles.length;i++){
var title = document.getElementById(this.id + i);
if(title){
function mapping(index){
try {
title.onclick = function(){THIS1.select(index);}
title.oncontextmenu = function(){ return false;}
title.nextSibling.oncontextmenu = function(){return false;}
} catch (e){
}
}
mapping(i);
}
}
}
}

this.addItem = function(index,name,target,url,image,align){
if(index>=0&&index<this.titles.length){
return this.titles[index].addItem(name,target,url,image,align);
}
}

this.setupById = function(id){
var d = document.getElementById(id);
if(d){
this.setup(d);
}
}
}

var o = new CLASS_OUTLOOKBAR();
o.addTitle("工作安排");
o.addTitle("通告信息");
o.addTitle("管理制度");
o.addTitle("系统管理");

o.addItem(0,"今日安排","frm","http://www.google.com");
o.addItem(0,"工作任务","frm","http://baidu.com");

o.addItem(1,"报社通知","frm","http://www.itpub.net/forum6.html",null);

o.setupById("o1");

//-->
</SCRIPT>

</BODY>
</HTML>
























原文: http://qtchina.tk/?q=node/59

Powered by zexport