OB_BorderColor = '#98DEB0';
OB_BackgroundColor = '#D6E9DB';
OB_ButtonBorderColor = '#98DEB0';
OB_ButtonFontColor = '#00000';
OB_Width = '135';
OB_BorderWidth = '8';
document.write("<DIV id='OutlookLikeBar' style='position:absolute;top:"+OB_Top+";left:"+OB_Left+";width:"+OB_Width+";height:"+OB_Height+";border:"+OB_BorderWidth+" "+OB_BorderStyle+" "+OB_BorderColor+";background-color:"+OB_BackgroundColor+";z-index:0;visibility:hidden;clip:rect(0,"+OB_Width+","+OB_Height+",0)'>");
//document.write("<DIV id='test' style='POSITION: absolute; TOP: 0px; left:100px; WIDTH: 150px; Z-INDEX: 2')>");
//箭头的显示
document.write("<img onMouseUp='OutlookLikeBar.ArrowSelected(this)' onMouseDown='OutlookLikeBar.ArrowClicked(this)' onMouseOver='OutlookLikeBar.OverArrow(this)' onMouseOut='OutlookLikeBar.OutArrow(this)' id='OB_SlideUp' height='"+OB_ArrowHeight+"' width='"+OB_ArrowWidth+"' src='"+OB_DownArrow+"' style='position:absolute;top:0;left:0;cursor:hand;visibility:hidden;z-index:500'>");
document.write("<img onMouseUp='OutlookLikeBar.ArrowSelected(this)' onMouseDown='OutlookLikeBar.ArrowClicked(this)' onMouseOver='OutlookLikeBar.OverArrow(this)' onMouseOut='OutlookLikeBar.OutArrow(this)' id='OB_SlideDown' height='"+OB_ArrowHeight+"' width='"+OB_ArrowWidth+"' src='"+OB_UpArrow+"' style='position:absolute;top:0;left:0;cursor:hand;visibility:hidden;z-index:500'>");
j=1;
while(eval("window.OutBarFolder"+j))
j++;
i=j-1;
while(i>0)
{
Folder=eval("OutBarFolder"+i)
//window.status="Outlook-Like Bar is making folder '"+Folder[0]+"'";
if(i==1)
{
//document.write("<INPUT position='UP' id='OB_Button1' onDblClick='OutlookLikeBar.FolderClicked("+i+");this.blur()' onClick='OutlookLikeBar.FolderClicked("+i+");this.blur()' TYPE='image' src=images/interface/wdlc.gif style='position:absolute;top:0;left:0;width:"+(OB_Width-OB_BorderWidth*2)+";height:"+OB_ButtonHeight+";border:4px "+OB_ButtonBorderColor+" solid'>");
document.write("<INPUT position='UP' id='OB_Button1' onDblClick='OutlookLikeBar.FolderClicked("+i+");this.blur()' onClick='OutlookLikeBar.FolderClicked("+i+");this.blur()' TYPE='button' value='"+Folder[0]+"' style='position:absolute;top:0;left:0;background-image: url(images/interface/lefttitlebj.gif);background-color:"+OB_ButtonBGColor+";width:"+(OB_Width-OB_BorderWidth*2)+";height:"+OB_ButtonHeight+";font-family:"+OB_ButtonFontFamily+";font-size:"+OB_ButtonFontSize+"pt;cursor:hand;color:"+OB_ButtonFontColor+";z-index:100;border:1px "+OB_ButtonBorderColor+" solid'>");
MakeItems(Folder,i,25);
}
else
{
//document.write("<INPUT position='DOWN' id='OB_Button"+i+"' onDblClick='OutlookLikeBar.FolderClicked("+i+");this.blur()' onClick='OutlookLikeBar.FolderClicked("+i+");this.blur()' TYPE='image' src=images/interface/wdsy.gif style='position:absolute;top:"+(OB_Height-(j-i)*OB_ButtonHeight-OB_BorderWidth*2)+";left:0;width:"+(OB_Width-OB_BorderWidth*2)+";height:"+OB_ButtonHeight+";border:4px "+OB_ButtonBorderColor+" solid'>");
document.write("<INPUT position='DOWN' id='OB_Button"+i+"' onDblClick='OutlookLikeBar.FolderClicked("+i+");this.blur()' onClick='OutlookLikeBar.FolderClicked("+i+");this.blur()' TYPE='button' value='"+Folder[0]+"' style='position:absolute;top:"+(OB_Height-(j-i)*OB_ButtonHeight-OB_BorderWidth*2)+";left:0;width:"+(OB_Width-OB_BorderWidth*2)+";height:"+OB_ButtonHeight+";font-family:"+OB_ButtonFontFamily+";background-image: url(images/interface/lefttitlebj.gif);background-color:"+OB_ButtonBGColor+";font-size:"+OB_ButtonFontSize+"pt;cursor:hand;color:"+OB_ButtonFontColor+";z-index:100;border:1px "+OB_ButtonBorderColor+" solid'>");
MakeItems(Folder,i,(OB_Height-(j-i)*25-OB_BorderWidth*2)+25);
}
i--;
}
document.write("</DIV>");
var OutlookLikeBar=new OutBar(OB_Width,OB_Height,j-1,OB_ButtonHeight,OB_BorderWidth,OB_SlideSpeed,OB_IconsHeight+OB_LabelFontSize+OB_LabelMargin+OB_ItemsSpacing,OB_ArrowSlideSpeed);
//window.status="Outlook-Like Bar successful created!";
document.all["OutlookLikeBar"].style.visibility="visible";
/*以下的代码中你需要改动菜单的数目与实际一致,本例用了4个按钮菜单。*/
function StringWrap(s){
var len;
var r="";
var tmp=s;
var maxlen=5;
len=s.length;
if(len<=maxlen) return s;
while(len>maxlen){
r+=tmp.substr(0,maxlen);
tmp=tmp.substr(maxlen);
len=tmp.length;
if(len!=0) r+="<br>";
}
r+=tmp;
return r;
}
function MakeItems(Folder,zorder,top)
{//菜单的显示
var items=0;
var folderWidth=(OB_Width-OB_BorderWidth*2);
while(Folder[items+1])
items+=lypmenucount; //需要改这里及下面的4;
items/=lypmenucount;
document.write("<DIV align=center id='OB_Folder"+zorder+"' style='position:absolute;left:0;top:"+top+";width:"+folderWidth+";height:"+(OB_Margin*2+items*(OB_IconsHeight+OB_LabelFontSize+OB_LabelMargin)+(items-1)*OB_ItemsSpacing)+";z-index:"+zorder+";clip:rect(0 0 0 0);'>");
for(var i=1;i<items*4;i+=4)
{
document.write("<div targetFrame='"+Folder[i+3]+"' link='"+Folder[i+2]+"' onMouseDown='OutlookLikeBar.ItemClicked(this)' onMouseUp='OutlookLikeBar.ItemSelected(this)' onMouseOver='OutlookLikeBar.OverItems(this)' onMouseOut='OutlookLikeBar.OutItems(this)' style='position:absolute;left:"+(Math.ceil((OB_Width-OB_BorderWidth*2-OB_IconsHeight)/2)-1)+";top:"+(OB_Margin+Math.ceil((i-1)/4)*(OB_ItemsSpacing+OB_LabelFontSize+OB_IconsHeight))+";cursor:hand;clip:rect(0 "+OB_IconsWidth+" "+OB_IconsHeight+" 0;width:"+OB_IconsWidth+";height:"+OB_IconsHeight+"'>");
document.write("<img src='"+Folder[i]+"'>");
document.write("</div>");
document.write("<div align='center' style='position:absolute;left:0;top:"+(OB_LabelMargin+OB_IconsHeight+OB_Margin+Math.ceil((i-1)/4)*(OB_ItemsSpacing+OB_LabelFontSize+OB_IconsHeight))+";'>");
document.write("<table width=100%><tr><td align=center><table width=100%><tr><td align=center style='font-family:"+OB_LabelFontFamily+";font-size:"+OB_LabelFontSize+"pt;color:"+OB_LabelFontColor+"'>"+Folder[i+1]+"</td></tr></table></td></tr></table>");
document.write("</div>");
}
document.write("</DIV>");
}
//***************************
//* Outlook-Like Bar Object *
//***************************
function OutBar(width,height,items,buttonHeight,borderWidth,slideSpeed,slideArrowValue,ArrowSlideSpeed)
{//构造函数
this.currentFolder=1;
this.currentItem=null;
this.slideCount=0;
this.slideStep=1;
this.slideArrowValue=slideArrowValue;
this.slideSpeed=slideSpeed;
this.borderWidth=borderWidth;
this.width=width;
this.visibleAreaHeight=height-2*borderWidth-items*buttonHeight;
this.visibleAreaWidth=width;
this.FolderClicked=FolderClicked;
this.SlideFolders=SlideFolders;
this.ItemClicked=ItemClicked;
this.ItemSelected=ItemSelected;
this.OverItems=OverItems;
this.OutItems=OutItems;
this.OverArrow=OverArrow;
this.OutArrow=OutArrow;
this.ArrowClicked=ArrowClicked;
this.ArrowSelected=ArrowSelected;
this.ArrowSlideSpeed=ArrowSlideSpeed;
this.SlideItems=SlideItems;
this.SlideItemsAction=SlideItemsAction;
this.Start=Start;
this.ClipFolder=ClipFolder;
this.SetArrows=SetArrows;
this.HideArrows=HideArrows;
this.sliding=false;
this.items=items;
this.started=false;
this.Start();
}
function FolderClicked(folder)
{
if(this.sliding)
return;
if(folder==this.currentFolder)
return;
this.sliding=true;
this.slideCount=this.visibleAreaHeight;
this.slideStep=1;
this.countStep=0;
this.HideArrows();
this.SlideFolders(folder,document.all["OB_Button"+folder].position=="DOWN");
}
function SlideFolders(folder,down)
{
var step;
if(down)
{
this.slideCount-=Math.floor(this.slideStep);
if(this.slideCount<0)
this.slideStep+=this.slideCount;
step=Math.floor(this.slideStep);
for(var i=2;i<=folder;i++)
if(document.all["OB_Button"+i].position=="DOWN")
{
document.all["OB_Button"+i].style.pixelTop-=step;
document.all["OB_Folder"+i].style.pixelTop-=step;
}
filter = /rect\((\d*)px (\d*
outlookbar 实例
需积分: 0 173 浏览量
更新于2008-08-26
收藏 33KB RAR 举报
OutlookBar是一款在Web应用程序中实现类似Microsoft Outlook的侧边栏工具,它提供了一种组织和访问各种功能或数据项的高效方式。这个实例,"WebApplication7",可能是使用ASP.NET或者JavaScript等技术构建的一个演示项目,展示了如何在网页上实现OutlookBar的样式和功能。
在Web开发中,OutlookBar通常被用作导航组件,帮助用户快速访问不同的页面或功能区域。它的设计特点是拥有多个分隔的面板,每个面板可以包含一个菜单、链接或其他交互元素,使用户能方便地切换和浏览内容。OutlookBar的设计理念是提高用户体验,让用户能够像在桌面版Outlook软件中那样,轻松地管理和访问信息。
创建OutlookBar的关键知识点包括:
1. **HTML结构**:你需要建立一个HTML结构来呈现OutlookBar的各个面板。这可能涉及到`<div>`标签的使用,每个面板是一个独立的`<div>`,通过CSS进行布局和样式设置。
2. **CSS样式**:CSS是实现OutlookBar视觉效果的核心。你需要定义面板的宽度、高度、背景色、边框、内边距等属性,以创建出分隔的外观。同时,考虑响应式设计,确保在不同设备和屏幕尺寸上都能良好显示。
3. **JavaScript或jQuery**:为了让OutlookBar具有交互性,如点击展开/折叠面板,切换内容等,你需要使用JavaScript或jQuery。这可能涉及事件监听器、DOM操作和动画效果。
4. **动态加载内容**:OutlookBar中的每个面板可能需要根据用户的操作动态加载内容。这可以通过Ajax技术实现,比如使用jQuery的`.load()`方法,从服务器获取并插入新的HTML内容。
5. **数据绑定**:如果内容较多,可以考虑使用数据绑定框架(如AngularJS或React),将数据模型与视图关联,实现数据驱动的自动更新。
6. **可扩展性**:设计时要考虑OutlookBar的可扩展性,以便未来添加更多面板或功能。这可能涉及模块化编程和插件架构。
7. **性能优化**:对于大型项目,关注性能优化至关重要。例如,使用懒加载策略只加载当前可见的面板内容,或利用缓存机制减少不必要的服务器请求。
8. **兼容性测试**:确保OutlookBar在主流浏览器(如Chrome、Firefox、Safari、Edge等)以及不同操作系统上都能正常工作。
9. **用户体验**:别忘了优化用户体验,比如提供清晰的指示(如图标、文字说明)让用户知道如何操作,保持一致的交互模式,以及合理的反馈机制。
"WebApplication7"实例可能是一个全面展示这些技术应用的项目,帮助开发者学习如何在自己的Web应用中实现一个功能丰富的OutlookBar。通过学习和实践,开发者可以提升自己在前端开发领域的技能,特别是对用户体验和交互设计的理解。
zhonghlning
- 粉丝: 2
- 资源: 4
最新资源
- 生鲜超市管理的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 生鲜交易系统--论文-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 失踪人员信息发布与管理系统-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 基于springboot的扶贫助农系统--论文pf-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 基于SpringBoot的房屋交易平台的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 基于springboot的公益服务平台的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 基于SpringBoot的计算机学习系统的设计与实现代码-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 实习管理系统--论文-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 基于SpringBoot的家电销售展示平台--论文pf-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 基于Web教师个人成果管理系统-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 基于Web手工艺品销售系统的开发与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 基于web网上村委会业务办理系统pf-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- C++学生信息管理系统(源码+数据库+文档说明)高分项目
- 2025年度红色吉祥喜庆结婚礼邀请函模板.pptx
- 2025年度红色喜庆玫瑰花婚礼邀请函模板.pptx
- 基于大数据的智能家居销量数据分析2023_jr986-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip